Ch. 10 - VB 2005 by Schneider1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Relational Databases and SQL.

Slides:



Advertisements
Similar presentations
Data Base. Objective Become familiar with database terminology. Create a project to display data for a single database table. Use a DataGrid control.
Advertisements

Chapter 10 Database Applications Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill.
Concepts of Database Management Seventh Edition
Concepts of Database Management Sixth Edition
Access - Project 1 l What Is a Database? –A Collection of Data –Organized in a manner to allow: »Access »Retrieval »Use of That Data.
Ch. 101 Virtual Table and DataGridView Virtual Table DataGridView.
Ch. 101 DataTable Data Table Object A DataTable object holds the contents of a table as a rectangular array. A data table is similar to a two-dimensional.
Chapter 12: Using ADO.NET 2.0 Programming with Microsoft Visual Basic 2005, Third Edition.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Microsoft Office 2007 Access Chapter 2 Querying a Database.
XP New Perspectives on Microsoft Office Access 2003, Second Edition- Tutorial 2 1 Microsoft Office Access 2003 Tutorial 2 – Creating And Maintaining A.
Ch. 101 Changing the Contents of a Database. Ch. 102 Changing the Contents of a Database Data grid views can also be used to add, modify, and delete records.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
SUNY Morrisville-Norwich Campus-Week 12 CITA 130 Advanced Computer Applications II Spring 2005 Prof. Tom Smith.
Creating And Maintaining A Database. 2 Learn the guidelines for designing databases When designing a database, first try to think of all the fields of.
Querying a Database Microsoft Office Access 2003.
1 Chapter 2 Reviewing Tables and Queries. 2 Chapter Objectives Identify the steps required to develop an Access application Specify the characteristics.
Concepts of Database Management Sixth Edition
1 Computing for Todays Lecture 16 Yumei Huo Fall 2006.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
CSCI 3328 Object Oriented Programming in C# Chapter 12: Databases and LINQ 1 Xiang Lian The University of Texas – Pan American Edinburg, TX 78539
Microsoft Access 2010 Chapter 7 Using SQL.
Microsoft Visual Basic 2005 CHAPTER 8 Using Procedures and Exception Handling.
Chapter 10 - VB.Net by Schneider1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Relational Databases and SQL.
XP New Perspectives on Microsoft Access 2002 Tutorial 41 Microsoft Access 2002 Tutorial 4 – Creating Forms and Reports.
Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall 1 1. Chapter 2: Relational Databases and Multi-Table Queries Exploring Microsoft Office.
Databases and LINQ Visual Basic 2010 How to Program 1.
Programming with Microsoft Visual Basic 2012 Chapter 13: Working with Access Databases and LINQ.
Microsoft Visual Basic 2012 Using Procedures and Exception Handling CHAPTER SEVEN.
ASP.NET Programming with C# and SQL Server First Edition
Using the Select Case Statement and the MsgBox Function (Unit 8)
Ch VB 2008 by Schneider1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Relational Databases and SQL.
Create Database Tables
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
P RACTICE Determine the output displayed when the button is clicked. Dim actor(5,5) As String Private Sub btnDisplay_Click(...) Handles btnDisplay.Click.
PHP meets MySQL.
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Twelve Access Databases and LINQ.
1 By: Nour Hilal. Microsoft Access is a database software where data is stored in one or more Tables. A Database is a group of related Tables. Access.
Office Management Tools II Ms Saima Gul.  When you create your tables, you should assign each table a primary key—one or more fields whose contents are.
XP New Perspectives on Microsoft Access 2002 Tutorial 21 Microsoft Access Tutorial 2 – Creating And Maintaining A Database.
XP 1 Microsoft Access 2003 Introduction To Microsoft Access 2003.
XP New Perspectives on Microsoft Office Access 2003, Second Edition- Tutorial 2 1 Microsoft Office Access 2003 Tutorial 2 – Creating And Maintaining A.
Chapter One An Introduction to Visual Basic 2010 Programming with Microsoft Visual Basic th Edition.
Concepts of Database Management Seventh Edition
1 Chapter 12 – Web Applications 12.1 Programming for the Web, Part I 12.2 Programming for the Web, Part II 12.3 Using Databases in Web Programs.
Ch Determine the output displayed from procedures Lab sheet 10.4.
Chapter 10 - VB.Net by Schneider1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Relational Databases and SQL.
Tutorial 91 Databases A database is an organized collection of related information stored in a file on a disk A database allows companies to store information.
1 CSE 2337 Introduction to Data Management Access Book – Ch 1.
Concepts of Database Management Eighth Edition Chapter 3 The Relational Model 2: SQL.
Chapter Thirteen Working with Access Databases and LINQ Programming with Microsoft Visual Basic th Edition.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 25.1 Test-Driving the ATM Application 25.2.
Ch. 101 Database Management An Introduction to Databases.
Chapter Fourteen Access Databases and SQL Programming with Microsoft Visual Basic th Edition.
XP New Perspectives on Microsoft Access 2002 Tutorial 31 Microsoft Access 2002 Tutorial 3 – Querying a Database.
Work with Tables and Database Records Lesson 3. NAVIGATING AMONG RECORDS Access users who prefer using the keyboard to navigate records can press keys.
1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Editing and Designing Databases.
Database: SQL, MySQL, LINQ and Java DB © by Pearson Education, Inc. All Rights Reserved.
MSOffice Access Microsoft® Office 2010: Illustrated Introductory 1 Part 1 ® Database & Table.
Ch. 101 DataTable (Continue) Lab sheet 10.3: Form Display Cities table along with percentage growth.
XP New Perspectives on Microsoft Office Access 2003 Tutorial 4 1 Microsoft Office Access 2003 Tutorial 4 – Creating Forms and Reports.
VOCAB REVIEW. A field that can be computed from other fields Calculated field Click for the answer Next Question.
1 Access Lesson 1 Understanding Access Fundamentals Microsoft Office 2010 Fundamentals Story / Walls.
Programming with Microsoft Visual Basic 2012 Chapter 14: Access Databases and SQL.
Programming with Microsoft Visual Basic 2012 Chapter 13: Working with Access Databases and LINQ.
Microsoft Visual Basic 2010: Reloaded Fourth Edition
Access Lesson 1 Understanding Access Fundamentals
Chapter 10 – Database Management
Shelly Cashman: Microsoft Access 2016
Presentation transcript:

Ch VB 2005 by Schneider1 Chapter 10 – Database Management 10.1 An Introduction to Databases 10.2 Relational Databases and SQL

Ch VB 2005 by Schneider An Introduction to Databases Database Explorer Accessing a Database with a Data Table

Ch VB 2005 by Schneider3 Sample Table – Cities Table

Ch VB 2005 by Schneider4 Sample Table – Countries Table

Ch VB 2005 by Schneider5 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 database.

Ch VB 2005 by Schneider6 Database Management Software (DBMS) Used to create databases Databases can contain one or more related tables Examples of DBMS include Access and Oracle

Ch VB 2005 by Schneider7 Database Explorer Is used to view a database The Standard and Professional editions of Visual Basic contain Server Explorer that also allows the programmer to view information located on other computers. We will focus on Database Explorer. However, with slight modifications, our discussion applies to Server Explorer.

Ch VB 2005 by Schneider8 Using the Database Explorer 1.Click on Database Explorer from the View Menu. (The Explorer will appear on the left side of the screen.) 2.Right-click on “Data Connections”, and select “Add Connection”. 3.Set the Data Source to “Microsoft Access Database File.” 4.Click on the “Browse …” button and select the file MEGACITIES.MDB from the folder Programs\Ch10\MajorDatabases, and press Open. 5.Clear the contents of the “User name” text box.

Ch VB 2005 by Schneider9 Database Explorer continued 6.Press the Test Connection button. The message box stating “Test Connection Succeeded” will appear. Press the OK button on that message box, and then press the OK button on the Data Link Properties box. 7.An icon should appear in Database Explorer. Click on the + sign to the left of the icon to expand this entry. four subentries will appear: Tables, Views, and Stored Procedures, and Functions. 8.Expand the Tables entry to reveal the subentries, the tables Cities and Countries. 9.Expand an entry to reveal the fields of the table. (See slide 10.) 10.Double-click on a table to show the table in a grid. (See slide 11.)

Ch VB 2005 by Schneider10 Figure 10.1 – Database Explorer

Ch VB 2005 by Schneider11 Figure 10.2 – The Cities Table

Ch VB 2005 by Schneider12 Data Table Object A DataTable object holds the contents of a table as a rectangular array. A data table is similar to a two- dimensional array; it has rows and columns.

Ch VB 2005 by Schneider13 Important Note You must do the following two steps for each program in order to gain access to the Data Table object. 1.Add references to System.Data.dll and System.Xml.dll. (See slide 14.) 2.Type the statement Imports System.Data at the top of the code window.

Ch VB 2005 by Schneider14 Add references to System.Data.dll and System.Xml.dll. Click on Project in the Menu bar. Click on Add Reference in the drop-down menu. To invoke the “Add Reference” dialog box. Make sure the.NET tab is selected. Click on System.Data. Hold down the Ctrl key and click on System.Xml. Press the OK button.

Ch VB 2005 by Schneider15 DataTable Variable We will assume that the two steps discussed in slide 10 have been carried out for every program in this chapter. Then, the following declares a DataTable variable Dim dt As New DataTable()

Ch VB 2005 by Schneider16 Connecting with a DataTable Dim dt As New DataTable() Dim connStr As String = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=MEGACITIES.MDB" Dim sqlStr As String = "SELECT * FROM Cities" Dim dataAdapter As New _ OleDb.OleDbDataAdapter(sqlStr, connStr) dataAdapter.Fill(dt) dataAdapter.Dispose() (Boilerplate to be inserted into every program in chapter.)

Ch VB 2005 by Schneider17 Properties of the DataTable After the six lines of code are executed, the number of records in the table is given by dt.Rows.Count The number of columns in the table is given by dt.Columns.Count The records are numbered 0 through dt.Rows.Count – 1 The fields are numbered 0 through dt.Columns.Count – 1

Ch VB 2005 by Schneider18 More Properties The name of the jth field is given by dt.Columns(j) The entry in the jth field of the ith record is dt.Rows(i)(j) The entry in the specified field of the ith record is dt.Rows(i)(fieldName)

Ch VB 2005 by Schneider19 Example 1: Form Display one record at a time from the Cities table.

Ch VB 2005 by Schneider20 Example 1: Partial Code Dim dt As New DataTable() Dim rowIndex As Integer = 0 Private Sub frmCities_Load(...) Handles _ MyBase.Load (Last five statements of boilerplate) UpdateTextBoxes() End Sub Sub UpdateTextBoxes() 'Display contents of row specified by rowIndex variable txtCity.Text = CStr(dt.Rows(rowIndex)("city")) txtCountry.Text = CStr(dt.Rows(rowIndex)("country")) txtPop2005.Text = CStr(dt.Rows(rowIndex)("pop2005")) txtPop2015.Text = CStr(dt.Rows(rowIndex)("pop2015")) End Sub

Ch VB 2005 by Schneider21 Example 1: Partial Code cont. Private Sub btnNext_Click(...) Handles btnNext.Click 'Show the next record if current one is not the last If (rowIndex < dt.Rows.Count - 1) Then rowIndex += 1 'Increase rowIndex by 1 UpdateTextBoxes() End If End Sub Private Sub btnPrevious_Click(...) Handles _ btnPrevious.Click 'Show previous record if current one is not the first If (rowIndex > 0) Then rowIndex = rowIndex - 1 UpdateTextBoxes() End If End Sub

Ch VB 2005 by Schneider22 Example 1: Partial Code cont. Private Sub btnFind_Click(...) Handles btnFind.Click Dim cityName As String Dim cityFound As Boolean = False cityName =InputBox("Enter name of city to search for.") For i As Integer = 0 To (dt.Rows.Count - 1) If CStr(dt.Rows(i)("city")) = cityName Then cityFound = True rowIndex = i UpdateTextBoxes() End If Next If (Not cityFound) Then MsgBox("Cannot find requested city",0,"Not in Table") End If End Sub

Ch VB 2005 by Schneider23 Example 1: Output

Ch VB 2005 by Schneider24 Example 2: Form Display Cities table along with percentage growth.

Ch VB 2005 by Schneider25 Example 2: Code Private Sub btnShow_Click(...) Handles btnShow.Click Dim fmtStr As String= "{0,-15}{1,-10}{2,7:N1}{3,7:N1}{4,7:P0}" Dim percentIncrease As Double (Six statements of boilerplate) lstDisplay.Items.Add(String.Format(fmtStr, "CITY", _ "COUNTRY", "2005", "2015", "INCR.")) For i As Integer = 0 To dt.Rows.Count - 1 percentIncrease = (CDbl(dt.Rows(i)("pop2015")) - _ CDbl(dt.Rows(i)("pop2005"))) / CDbl(dt.Rows(i)("pop2005")) lstDisplay.Items.Add(String.Format(fmtStr, dt.Rows(i)(0), _ dt.Rows(i)(1),dt.Rows(i)(2),dt.Rows(i)(3),percentIncrease)) Next End Sub

Ch VB 2005 by Schneider26 Example 2: Output

Ch VB 2005 by Schneider27 Bound Controls A data table that is bound to a list box can transfer information automatically into the list box. The following statement binds a list box to a data table: lstBox.DataSource = dt The contents of a specified field can be displayed in the list box by: lstBox.DisplayMember = "country"

Ch VB 2005 by Schneider28 Example 3: Form Display the list of countries. When the user clicks on a country, its monetary unit should be displayed.

Ch VB 2005 by Schneider29 Example 3: Code Dim dt As New DataTable() Private Sub frmCountries_Load(...) Handles MyBase.Load (Last five statements of boilerplate) lstCountries.DataSource = dt 'Bind list box lstCountries.DisplayMember = "country" End Sub Private Sub lstCountries_SelectedIndexChanged(...) _ Handles lstCountries.SelectedIndexChanged txtMonetaryUnit.Text = _ CStr(dt.Rows(lstCountries.SelectedIndex)("monetaryUnit") End Sub

Ch VB 2005 by Schneider30 Example 3: Output

Ch VB 2005 by Schneider Relational Databases and SQL Primary and Foreign Keys SQL Four SQL Requests The DataGridView Control Changing the Contents of a Database Calculated Columns with SQL

Ch VB 2005 by Schneider32 Primary Keys A primary key is used to uniquely identify each record. Databases of student enrollments in a college usually use a field of Social Security numbers as the primary key. Why wouldn't names be a good choice as a primary key?

Ch VB 2005 by Schneider33 Primary Key Fields When a database is then created, a field can be specified as a primary key. Visual Basic will insist that every record have an entry in the primary-key field and that the same entry does not appear in two different records. If the user tries to enter a record with no data in the primary key, the error message “Index or primary key cannot contain a Null Value.” will be generated. If the user tries to enter a record with the same primary key data as another record, the error message “The changes you requested to the table were not successful…"

Ch VB 2005 by Schneider34 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 field. Notice that every entry in Cities.country appears uniquely in Countries.country and Countries.country is a primary key. We say that Cities.country is a foreign key of Countries.country.

Ch VB 2005 by Schneider35 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.

Ch VB 2005 by Schneider36 Join A foreign key allows Visual Basic to link (or join) together two tables from a relational database When the two tables Cities and Countries from MEGACITIES.MDB are joined based on the foreign key Cities.country, the result is the table in slide 37. The record for each city is expanded to show its country’s population and its monetary unit.

Ch VB 2005 by Schneider37 A Join of two tables

Ch VB 2005 by Schneider38 SQL Structured Query Language developed for use with relational databases Very powerful language Allows for the request of specified information from a database Allows displaying information from database in a specific format

Ch VB 2005 by Schneider39 Four SQL Requests Show the records of a table in a specified order SELECT * FROM Table1 ORDER BY field1 ASC or SELECT * FROM Table1 ORDER BY field1 DESC Specifies ASCending Or DESCending

Ch VB 2005 by Schneider40 Show just the records that meet certain criteria SELECT * FROM Table1 WHERE criteria * means "all the fields" Name of the Table where the Records may be found Specified Criteria

Ch VB 2005 by Schneider41 Join the tables together connected by a foreign key, and present the records as in previous requests SELECT * FROM Table1 INNER JOIN Table2 ON foreign field = primary field WHERE criteria

Ch VB 2005 by Schneider42 Make available just some of the fields of either the basic tables or the joined table. SELECT field1, field2,..., fieldN FROM Table1 WHERE criteria

Ch VB 2005 by Schneider43 Criteria Clause A string containing a condition of the type used with If blocks. Uses the standard operators, and = Also can use the operator Like. Like uses the wildcard characters “_” and “%” to compare a string to a pattern.

Ch VB 2005 by Schneider44 Examples using Like An underscore character stands for a single character in the same position as the underscore character. The pattern “B_d” is matched by “Bid”, “Bud”, and “Bad”. A percent sign stands for any number of characters in the same position as the asterisk. The pattern “C%r” is matched by “Computer”, “Chair”, and “Car”.

Ch VB 2005 by Schneider45 SELECT clause SELECT fields FROM clause fields is either * (to indicate all fields) or a sequence of the fields to be available (separated by commas) clause is either a single table or a join of two tables

Ch VB 2005 by Schneider46 Join clause A join of two tables is indicated by a clause of the form table1 INNER JOIN table2 ON foreign key of table1=primary key of table2 Appending WHERE criteria to the end of the sentence restricts the records to those satisfying criteria. Appending ORDER BY field(s) ASC (or DESC) presents the records ordered by the specified field or fields.

Ch VB 2005 by Schneider47 General SQL statements SELECT www FROM xxx WHERE yyy ORDER BY zzz SELECT www FROM xxx is always present May be accompanied by one or both of WHERE yyy and ORDER BY zzz. The xxx portion might contain an INNER JOIN phrase.

Ch VB 2005 by Schneider48 More on SQL statements The single quote, rather than the normal double quote, is used to surround strings. Fields may be specified with the table they come from by tableName.FieldName

Ch VB 2005 by Schneider49 Virtual Tables SQL statements create a new “virtual” table from existing tables. Think of the following statement as creating a "virtual table" SELECT city, pop2015 FROM Cities WHERE pop2015>=20 Results in: city pop2015 Bombay 22.6 Delhi 20.9 Mexico City 20.6 Sao Paulo 20.0 Tokyo 36.2

Ch VB 2005 by Schneider50 Another Virtual Table SELECT * FROM Countries WHERE country Like 'I%' ORDER BY pop2005 ASC Results in: country pop2005 monetaryUnit Indonesia rupiah India rupee

Ch VB 2005 by Schneider51 Views “Virtual” tables don’t exist physically. For all practical purposes, Visual Basic acts as if they did. You may also see a “virtual” table called a view.

Ch VB 2005 by Schneider52 The DataGridView Control The DataGridView, displays the values for an entire view in a table format similar to the table displayed by Database Explorer. The prefix for the name of a DataGridView control is dgv. After a data table has been filled, the statement dgvDisplay.DataSource = dt displays the contents of the data table dt in the data grid.

Ch VB 2005 by Schneider53 Example 1: Form dgvDisplay

Ch VB 2005 by Schneider54 Example 1: Code Private Sub frmCities_Load(...) Handles MyBase.Load UpdateGrid("Select * From Cities") End Sub Private Sub btnOrderbyPop_Click(...) Handles btnOrderbyPop.Click UpdateGrid("Select * From Cities Order By pop2005 ASC") End Sub Private Sub btnShowMonUnit_Click(...) _ Handles btnShowMonUnit.Click UpdateGrid("SELECT city, Cities.country, " & _ "Cities.pop1995, monetaryUnit " & _ "FROM Cities INNER JOIN Countries " & _ "ON Cities.country=Countries.country " & _ "ORDER BY city ASC") End Sub

Ch VB 2005 by Schneider55 Example 1: Code continued Sub UpdateGrid(ByVal sqlStr As String) Dim dt As New DataTable() Dim connStr As String ="Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source = MEGACITIES.MDB" Dim dataAdapter As New OleDb.OleDbDataAdapter(sqlStr, connStr) dataAdapter.Fill(dt) dataAdapter.Dispose() dgvDisplay.DataSource = dt End Sub

Ch VB 2005 by Schneider56 Example 1: Output Click on the “Show Monetary Unit” button.

Ch VB 2005 by Schneider57 Example 2: Form dgvDisplay txtCountry

Ch VB 2005 by Schneider58 Example 2: Code Private Sub btnFindCities_Click(...) _ Handles btnFindCities.Click UpdateGrid("SELECT city FROM Cities WHERE" & _ "country = '" & txtCountry.Text & _ "' ORDER BY city ASC") End Sub Sub UpdateGrid(ByVal sqlStr As String) (Boilerplate, except for Dim sqlStr statement) If dt.Rows.Count = 0 Then MsgBox("No cities from that country " & _ "in the database") Else dgvDisplay.DataSource = dt End If End Sub

Ch VB 2005 by Schneider59 Example 2: Output

Ch VB 2005 by Schneider60 Changing the Contents of a Database Data grid views can also be used to add, modify, and delete records from a database. After a DataAdapter has been created, the statement Dim commandBuilder As New _ OleDbCommandBuilder(dataAdapter) will automatically generate the commands used for the Insert, Update, and Delete operations.

Ch VB 2005 by Schneider61 Using the DataAdapter to Change a Database If changes is an Integer variable, then the statement changes = dataAdapter.Update(dt) will store all of the insertions, updates, and deletions made in the data table to the database and assign the number of records changed to the variable changes.

Ch VB 2005 by Schneider62 Example 3: Form dgvDisplay

Ch VB 2005 by Schneider63 Example 3: Partial Code Dim connStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=MEGACITIES.MDB" Dim sqlStr As String = "SELECT * FROM Cities" Dim dt As New DataTable() Private Sub btnLoad_Click(...) Handles btnLoad.Click dt.Clear() Dim dataAdapter As New OleDb.OleDbDataAdapter(sqlStr, connStr) dataAdapter.Fill(dt) dataAdapter.Dispose() dgvDisplay.DataSource = dt End Sub

Ch VB 2005 by Schneider64 Example 3: Code continued Private Sub btnSave_Click(...) Handles btnSave.Click Dim changes As Integer Dim dataAdapter As New OleDb.OleDbDataAdapter(sqlStr, connStr) Dim commandBuilder As New _ OleDb.OleDbCommandBuilder(dataAdapter) changes = dataAdapter.Update(dt) dataAdapter.Dispose() If changes > 0 Then MsgBox(changes & " changed rows stored in the database.") Else MsgBox("No changes made.") End If End Sub

Ch VB 2005 by Schneider65 Calculated Columns with SQL In the SQL statement SELECT field1, field2,..., fieldN FROM Table1 one of the fields mentioned can consist of an expression Involving other fields, followed by a clause of the form “AS column header”. If so, a new column will be created whose values are determined by the expression and having the stated header. For instance, using the string sqlStr = "SELECT city, Round(pop2015-pop2005, 1)" & _ "AS popGrowth FROM Cities" to fill the table produces the output shown in slide 66.

Ch VB 2005 by Schneider66 Calculated Columns with SQL

Ch VB 2005 by Schneider67 Comments 1.There is a one-to-many relationship from the Countries table to the Cities table since each record of the Countries table is related to one or more records of the Cities table, and each record of the Cities table is related to only one record of the Countries table. 2.SQL statements are case insensitive. 3.When the Like operator is used, the “pattern” must appear on the right of the operator. SELECT * FROM Cities WHERE city Like 'S%'

Ch VB 2005 by Schneider68 Comments continued 4.An expression such as “[letter1-letter2]” is a placeholder for any letter from letter1 to letter2. Example: the pattern “[A-F]ad” is matched by Bad and Dad, but not Sad. 5.When Like is used in SQL statements, it is case insensitive. That is, (‘bad’ Like ‘[A-F]ad’) is True. When Like is used in an If block, the asterisk is used instead of the percent sign to denote any number of characters, and the question mark stands for any one character.

Ch VB 2005 by Schneider69 Comments continued 6.The requirement that no record may have a null primary key and that entries for primary keys be unique is called the Rule of Entity Integrity.