computer science & engineering 2111 lecture 10 introduction to database management systems 1
TRANSCRIPT
1
Computer Science & Engineering 2111
Computer Science & Engineering 2111
Lecture 10Introduction to Database Management Systems
2
Database Terms
– Data• A collection of numbers and text
– 273459368
– Information• Meaning derived from the data
– SSN: 273-45-9368
3
What is a database?• A large collection of data stored in a well-defined structure
– You can think of a database as• An electronic filing system• A repository for large amounts of information
– Example of a paper database• Telephone book
• Examples of computer databases– Ohio State stores student information in a database– Insurance companies store policy holder information in a
database– Your employer stores your information in a database
4
Database Software• How do I create a database?– Purchase the software
• We will use MS Access 2010, but there are many database software products– Oracle– Sybase– SQL Server
• How do I access information in the database?– Purchase a Database Management System (DBMS)
• A DBMS is a collection of programs that enable you to enter, organize, and select data in a database.– We will use MS Access 2010, but there are many database
management software products
5
Tables - a list of data organized into fields and records Queries - question structures to sort, filter and select
specific information Forms - structures for screen views of data Reports - structures for written output of data Program Modules & Macros - program code to perform
specific actions
Access DBMS “objects”:
6
What is a database Form?• Structures for screen view and input of information• Used to simplify viewing and inputting of information
Datasheet View Form View
7
• Structures for viewing written output of information
What is a database Report?
8
FileTablePrimary Key
Each Record is made up of 8 Fields Data Type/Field Type
Field Properties
A field, or combination of fields, which uniquely identifies a record in a database
Primary
Key
9
How is a database Organized? (Hierarchy of Data in a database)
Table
Each Record is made up of 8 Fields
File
16 Records
10
Defining Properties for each Field in a TableFor a person’s social security number use:• What field type?– Text, Number - Short Integer, Number- Long
Integer etc. • Should it be optional or required?• Does the value need to be within certain
limits or from a predefined list?• Is there a default value?• Would an input mask be appropriate
11
How should you decide what information goes on which table?
• If a fact appears in more than one record of a table, then this fact should probably be defined in another table.– Example: Account number
• Each fact should change in only one place– Example: Address
• Calculations shouldn’t be part of the database– Example: Current Balance
• Select a Primary Key where applicable so you can relate your tables– Example: Account number
12
• The design should be initially created schematically, and then the database should be created using the chosen database software
Steps when setting up a Database
13
1. Decide what information you will store in the database
Research Papers databaseFirst Name Charge Amount
Last Name Charge Date
Address Payment Amount
City Payment Type
State Payment Date
Zip Code
Home Phone
This database is a very simplistic one. Most databases you create will be much more complex.
14
2. Create the layout of the database
• What tables do you need in your database?• How will you set them up?– Divide Tables into Inseparable Fields•Address as 1 field – • 17 Main St. New York, New York 10002
•Address as 4 fields• Street Address - 17 Main St. • City - New York• State - New York • Zip code – 10002
• What will be the field properties of each field?• What will be the primary key for each table?
• A field, or a collection of fields, whose values uniquely identify each record in a table
15
Research Papers DatabaseTable Name: Client Field Type Properties
Fields: Client ID Text 5 Characters long Primary Key
First Name Text 25 Characters long
Last Name Text 50 Characters long
Address Text 60 Characters long
City Text 25 Characters long
State Text 2 Characters long Default Value
Zip Code Text 5 Characters long
Home Phone Text 10 Characters long Input Mask
Table Name: Charges Field Type Properties
Fields: Client ID Text 5 Characters long
Charge Amount Currency None
Charge Date Date Input Mast
Table Name: Payments Field Type Properties
Fields: Client ID Text 5 Characters long
Payment Amount Currency None
Payment Type Text 2 Characters long
Payment Date Date Input Mask
Table Name: PaymentMethod Field Type Properties
Fields: MethodID Text 2 Characters long
MethodType Text 20 Characters long
16
3. Create a relationship diagram to identify the table, relationships, primary keys and foreign keys
• We know the information we want to store, but how do we match a customer’s name to their charges and payments?
• We need a way to relate these two tables to extract useful information.• We can relate these two tables by matching the Client ID
• Foreign key• A field that defines the relationship between 2 tables• Must be a primary key (unique) in at least one of the tables• The field names on each table do not have to match as long as the information is
the same.• The related fields must be the same data type• number, text etc.
17
Table Name:ClientPrimary Key:ClientID
Table Name:ChargesPrimary Key:None
Foreign Key:ClientIDOn Charges table
Foreign Key:ClientID On Payments table
Table Name:MethodTypesPrimary Key:MethodID
Foreign Key:PaymentType On Payments table
RELATIONSHIP DIAGRAM FOR RESEARCH PAPERS DATABASE
1 1
1
∞
∞
∞Table Name:PaymentsPrimary Key:None
18
4. Create the database using the database software
• Create tables– Fields– Primary keys– Field Types– Field Properties
• Create Relationships– “Join” tables– Enforce Referential Data Integrity
• A set of rules that specifies what records may exist in each table– A record input with a foreign key must always have a matching record in the primary key
table in the relationship
• Cascade Delete Related Records– Removing any entry in a primary key field will automatically remove all entries in foreign key
fields of related tables.
• Cascade Update Related Records– Updating any entry in a primary key field will automatically update all entries in foreign key
fields of related tables.
19
ENFORCING REFERENTIAL DATA INTEGERITYCASCADE UPDATE & CASCADE DELETE
20
Once Relationships are established you can gather information from one or more tables to answer questions
• Create a list of account numbers and owner names and total transactions
• What are the total deposits made by accounts starting with 5?
• What is the total balance of all accounts held by Jane Doe ?
These requests are known as Queries