Download presentation
Presentation is loading. Please wait.
1
Review: Application of Database Systems
ER-diagram Tables and their relationships Application of Database Systems Queries Reports Not covered in midterm
2
ER-diagram Entity types Strong entity type Weak entity type Relationships Cardinality constraints: 1:1, 1:M, M:N - relationship Participation constraints: mandatory, optional Attributes atomic attributes composite attributes single-valued, multi-valued attributes derived attributes key, partial key, surrogate key, non-key attribute
3
department employee project dependent works for controls manages
works on dependents of controls supervision bdate ssn name lname minit fname sex address salary birthdate relationship number location number of employees startdate hours 1 N supervisor supervisee M degree
4
Mapping from ER-diagrams onto relational schemas
1. Create a relation for each strong entity type 2. Create a relation for each weak entity type 3. For each binary 1:1 relationship choose an entity and include the other’s PK in it as an FK 4. For each binary 1:n relationship, choose the n-side entity and include an FK with respect to the other entity. 5. For each binary M:N relationship, create a relation for the relationship 6. For each multi-valued attribute create a new relation 7. For each n-ary relationship, create a relation for the relationship
5
fname, minit, lname, ssn, bdate, address, sex, salary, superssn, dno
Dname, dnumber, mgrssn, mgrstartdate Dnumber, dlocation Pname, pnumber, plocation, dnum Essn, pno, hours Essn, dependentname, sex, bdate, relationship EMPLOYEE DEPARTMENT DEPT _LOCATIONS WORKS_ON PROJECT DEPENDENT
6
About participation constraints
If a relationship is mandatory for an entity set, then if the entity set is on the “many” side of the relationship, then a specification is required to ensure a foreign key has a value, and that it cannot be null setting the ‘required’ property for the FK in MS Access, or NOT NULL constraint in the DDL. N A c d B x y 1
7
A B c d x y c The “required” property for attribute c is set “yes”.
8
Setting the required property to Yes
9
If the entity set is on the “one” side of a relationship, then a check constraint or database trigger can be specified to ensure compliance. c d x y 1 N A B
10
A B c d x y c A program should be produced to check that any value appearing in c-column in table A must appear at least once in c-column in table B.
11
Five different ways to create tables
Using Table Wizard Using data sheet view Using design view Creating tables with queries Creating tables by importing external data sources
12
Creating a Table in Design View
If you want to create the basic table structure yourself and define all the field names and data types, you can create the table in Design view.
14
Data Types of Fields Attachment Files, such as digital photos. Multiple files can be attached per record. This data type is not available in earlier versions of Access. AutoNumber Numbers that are automatically generated for each record. Currency Monetary values. Date/Time Dates and times. Hyperlink Hyperlinks, such as addresses. Memo Long blocks of text and text that use text formatting. A typical use of a Memo field would be a detailed product description. Number Numeric values, such as distances. Note that there is a separate data type for currency. OLE Object OLE objects (OLE object: An object supporting the OLE protocol for object linking and embedding. Text Short, alphanumeric values, such as a last name or a street address. Yes/No Boolean values.
15
Located in the lower pane of Table Design View
Field Size property Caption property Field Properties can be used to specify characteristics for individual fields Located in the lower pane of Table Design View
16
Properties (1 of 2) Field size- Adjusts the size of the text field
Format- changes the way field is displayed. Does not effect the value. Input Mask- facilitates data entry Caption- Label used for the field Default Value- the automatically entered value
17
Properties (2 of 2) Validation Rule- Rejects records that do not conform to rules entered. Validation Text- Error returned when validation rule is broken. Required- Forces user to enter in value if selected. Allow Zero Length- Allows text length of 0. Indexed- increases efficiency of search on the field
18
Examples for Format property
Format property for Number data type: #,###.##;(#,###.##)[Red];0,000.00;“Undefined” format for positive number format for 0 format for null-value format for negative number 6,789.77
19
Examples for Input Mask property
Input mask forText data type: !\(999") "000\-0000;0;_ - (204) >!“FJ”\-AA\ – FJ-EA-12048 Input mask for Time data type 99:00:00\ >LL;0;_ - 05:56:00 PM
20
Create Tables – Consider a Foreign Key
Customer ID - Primary Key in Customer Table Customer ID –will only appear in one record - there must only be one unique id per customer Customer ID - Regular Field in Orders Table Customer ID may appear many times – one customer can place many orders Based on the above example: Customer Id is the foreign key in the Orders table This is referred to as a One to Many Relationship
21
Referential Integrity
(i) Consider two relation schemas R1 and R2; The attributes in FK (foreign key) in R1 have the same domain(s) as the primary key attributes PK (primary key) in R2; the attributes FK are said to reference or refer to the relation R2. iii) A value of FK in a tuple (record) t1 of the current state r(R1) either occurs as a value of PK for some tuple t2 in the current state r(R2) or is null. In the former case, we have t1[FK] = t2[PK], and we say that the tuple t1 references or refers to the tuple t2. Example: FK Order(OrderId, …, CustId) Customer(CustId, … )
22
Working with Multiple Tables – Table Relationships
Relationship between two tables The strength of Access is the fact that it is a relational database This means you can have multiple tables and create relationships between each table This helps eliminate redundant data
23
Working with Multiple Tables – Referential Integrity
Enforce Referential Integrity Assures that the references to relationships between data is accurate Established when creating the relationship between two tables
24
Working with Multiple tables - Cascades
Cascade update and cascade delete When active, data changed in one table that is in a relationship will be changed in its related tables Can be set when establishing relationships between tables
25
cascade – a strategy to enforce referential integrity
Employee ssn ... delete Works-on Essn Pno 5 ... delete
26
cascade – a strategy to enforce referential integrity
Employee delete ssn supervisor null Employee ssn supervisor null not reasonable delete delete
27
cascade – a strategy to enforce referential integrity
Employee delete ssn supervisor null Employee ssn supervisor null reasonable delete delete
28
Creating a Table with a Query
A make table query retrieves data from one or more tables, and then loads the result set into a new table. That new table can reside in the database that you have open, or you can create it in another database.
29
Queries different kinds of queries: - select queries - action queries
Make-Table query Delete query Append-Table query Update query - Crosstab query - total queries Group by Aggregate functions: count, sum, maximum, minimum, average - one-to-one relationship, one-to-many relationship
30
Using Query Design View
Tables pane Design pane Query Design grid has two panes – the table pane and the design pane Striking the F6 key will toggle you between sections
31
Select Query Searches associated tables and returns a dataset that matches the query parameters
32
Specifying Criteria – Currency and Operands
Currency amount entered without dollar sign Greater than (>) operand Specify criteria with currency Without the dollar sign With or without the decimal point Use operands such as: Less than and greater than Equal to or not equal to
33
IS NULL finds only records that have no value
IS NOT NULL criteria and partial resulting dataset Is Null criteria and resulting dataset IS NULL finds only records that have no value IS NOT NULL excludes Null value records
34
Specifying Criteria – And and Or
Or Criterion and resulting dataset And criterion and resulting dataset OR finds records that can match one or more conditions AND finds records that must match all criteria specified
35
Database Analysis Tools
SELECT fname FROM customer WHERE lname=“Smith” ORDER BY fname Returns records in the fname field only where the lname field is equal to Smith. Records are sorted in ascending order by first name Clauses - Added to statements to restrict/specify records WHERE clause - Specifies which records to return ORDER BY clause - Specifies sort order
36
Data Aggregates Use a Totals Query to Group
Grouping field Field to be totaled select Location, sum(Balance) where Account, Branch group by Location Organizes query results into groups Only use the field or fields that you want to total and the grouping field
37
Vid Make Model Colour Kilos Year Price Sold 1 Toyota Celica Red 100000 1994 $15,000.00 Yes 2 Honda Prelude Blue 150000 $18,000.00 No 3 145000 1993 $15,500.00 4 1997 $22,000.00 5 1996 6 7 8 1995
38
Reports seven sections: - report header - page header - group header
- details - group footer - page footer - report footer
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.