Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Editing and Designing Databases.

Similar presentations


Presentation on theme: "1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Editing and Designing Databases."— Presentation transcript:

1 1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Editing and Designing Databases

2 2 10.1 An Introduction to Databases Data Source Configuration Wizard Accessing a Database Table Binding to Additional Tables Browsing a Connected Database Querying a Table with LINQ Primary and Foreign Keys The Join of Two Tables

3 3 Sample Table – Cities Table

4 4 Sample Table – Countries Table

5 5 Database Terminology A table is a rectangular array of data. Each column of the table, called a field, contains the same type of information. Each row, called a record, contains all the information about one entry in the table.

6 6 Database Management Software (DBMS) Used to create databases Databases contain one or more related tables Examples of DBMS are Access, Oracle, and SQL Server. The databases used in this chapter are found in the folder Programs\Ch10\Databases. They were created with Access and have the extension accdb.

7 Megacities.accdb Contains the two tables Cities and Countries shown earlier. This database will be used extensively in the examples for this chapter. Several steps are required to bind to a table of the database. We will use the Data Source Configuration Wizard. (See the next sixteen slides.) 7

8 Binding to the Cities Table Add a BindingSource control to the form. (The control is in the Data and All Windows Forms group of the Toolbox. It appears in the form’s component tray with the name BindingSource1.) 8

9 DataSource Property of BindingSource1 9 click here

10 Choose Data Source Type 10 select click on Next button

11 Choose Database Model 11 select click on Next button

12 Choose Data Connection 12 click on New Connection button

13 Add Connection Dialog Box 13 click on Change button

14 Change Data Source Box 14 click on Continue button select

15 15 Add Connection Dialog Box click on Browse button

16 Select Database File 16 double-click on Megacities.accdb

17 Add Connection Dialog Box 17 click on OK button

18 Choose Data Connection 18 click on Next button

19 Copy File to Program 19 click on Yes button

20 Save to File 20 check this box click on Next button

21 Choose Database Objects 21 click on Finish button check on Tables box

22 Changes in Properties Window and Form 22

23 After Clicking on DataMember Down-Arrow 23 click on Cities

24 VB Generated Items 24 new code new icon

25 Binding Complete We are now bound to the Cities table via the MegacitiesDataSet and the CitiesTableAdapter. The next four slides show how to bind an additional table. 25

26 Connect an Additional Table Add another BindingSource control to the form. 26

27 Set DataSource Property 27 click on MegacitiesDataSet

28 Set DataMember Property 28 click on Countries

29 VB Generated Items 29 additional code shows in Load event procedure Me.CountriesTableAdapter.Fill(Me.MegacitiesDataSet.Countries) new icon

30 Example 1: Form 30 txtTotalPop

31 Example 1: Code Private Sub btnDisplay_Click(...) Handles _ btnDisplay.Click Dim query1 = From city In MegacitiesDataSet.Cities Where city.country = "India" Order By city.pop2010 Descending Select city.name lstOutput.DataSource = query1.ToList lstOutput.SelectedItem = Nothing 31

32 Example 1: Code (continued) Dim query2 = From city In _ MegacitiesDataSet.Cities Where city.country = "India" Select city.pop2010 txtTotalPop.Text = CStr(query2.Sum) End Sub 32

33 Example 1: Output 33

34 Example 2: Form 34 txtName dgvOutput

35 Example 2: Code Dim query = From country In _ MegacitiesDataSet.Countries Where country.name = txtName.Text Select country.name, country.pop2010, country.monetaryUnit If query.Count = 1 Then dgvOutput.DataSource = query.ToList dgvOutput.CurrentCell = Nothing Else MessageBox.Show("Country not found") End If 35

36 Example 2: Output 36

37 Example 3: Form 37 dgvOutput

38 Example 3: Code Dim query = From city In _ MegacitiesDataSet.Cities Let popIncrease = city.pop2015 - city.pop2010 Let formattedIncr = popIncrease.ToString("N1") Where popIncrease > 1 Order By popIncrease Descending Select city.name, formattedIncr 38

39 Example 3: Code (continued) dgvOutput.DataSource = query.ToList dgvOutput.CurrentCell = Nothing dgvOutput.Columns("name").HeaderText = "City" dgvOutput.Columns("formattedIncr").HeaderText = "Population Increase" 39

40 Example 3: Output 40

41 41 Primary Keys A primary key is used to uniquely identify each record. Databases of student enrollments in a college usually use a field of student ID numbers as the primary key. Why wouldn't names be a good choice as a primary key?

42 42 Primary Key Fields Specified when database is created. Every record must have an entry in the primary-key field. Two records cannot have the same entry in the primary-key field. This pair of requirements is called the Rule of Entity Integrity.

43 43 Two or More Tables When a database contains two or more tables, the tables are usually related. For instance, the two tables Cities and Countries are related by their country and name fields. Notice that every entry in Cities.country appears uniquely in Countries.name and Countries.name is a primary key. We say that Cities.country is a foreign key of Countries.name.

44 44 Foreign Keys Foreign keys can be specified when a table is first created. Visual Basic will insist on the Rule of Referential Integrity. This Rule says that each value in the foreign key must also appear in the primary key of the other table.

45 45 Join A foreign key allows Visual Basic to link (or join) two tables from a relational database When the two tables Cities and Countries from Megacities.accdb are joined based on the foreign key Cities.country, the result is the table in the next slide. The record for each city is expanded to show its country’s population and its monetary unit.

46 46 A Join of Two Tables

47 47 Beginning of Query to Join the Two Tables from Megacities Dim query = From city In _ MegacitiesDataSet.Cities Join country In MegacitiesDataSet.Countries On city.country Equals country.name

48 Example 6: Form 48

49 Example 6: Code for Load Event Me.CountriesTableAdapter.Fill(Me.MegacitiesDataSet.Countries) Me.CitiesTableAdapter.Fill(Me.MegacitiesDataSet.Cities) Dim query = From country In _ MegacitiesDataSet.Countries Order By country.monetaryUnit Ascending Select country.monetaryUnit Distinct lstCurrencies.DataSource = query.ToList 49

50 Example 6: Later Code Dim query = From city In _ MegacitiesDataSet.Cities Join country In MegacitiesDataSet.Countries On city.country Equals country.name Where country.monetaryUnit = lstCurrencies.Text Order By city.name Ascending Select city.name For Each city As String In query lstCities.Items.Add(city) Next 50

51 Example 6: Sample Output 51

52 52 10.2 Editing and Designing Databases A Program to Edit the Cities Table Designing the Form for the Table-Editing Program Writing the Table-Editing Program Principles of Database Design

53 Editing Program: Form 53 navigation toolbar

54 Navigation Toolbar 54

55 Editing Program: Output 55

56 Building the Form Start a new program and bind the Cities table. Add a BindingNavigator control (found in Data group of Toolbox) to the form. Note: BindingNavigator1 appears in component tray and a navigation toolbar appears at the top of the form. 56

57 Navigation Bar Added 57 button to be changed

58 Change Last Button 58 click here

59 Change Last Button (continued) 59 click on Button

60 Change Last Button (continued) 60 new button New button has name ToolStripButton 1 Use the Properties window for the button to change the Name, Text, and Image settings to btnUpdate, Update, and Disk.bmp.

61 Change Last Button (continued) 61 Disk.bmp used for picture on button

62 Display Data Sources Window 62 Click here

63 Bind Text Boxes to Cities Table Fields 63 drag these four items onto form

64 Text Boxes and Labels Generated by VB 64

65 Complete Design of Form 65

66 Index Numbers Each record of the table Cities has an index number ranging from 0 to 9. The value of BindingSource1.Position is the index number of the record currently displayed in the form. 66

67 Index Numbers (continued) The statement BindingSource1.Position = n displays the record having index number n. The value of BindingSource1.Find("name", cityName) is the index number of the specified city. 67

68 Principles of Database Design Data should usually be stored in their smallest parts. Avoid redundancy. Avoid tables with intentionally blank entries. Strive for table cohesion. Avoid fields whose values can be calculated from existing fields. 68


Download ppt "1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Editing and Designing Databases."

Similar presentations


Ads by Google