Presentation is loading. Please wait.

Presentation is loading. Please wait.

The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.

Similar presentations


Presentation on theme: "The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced."— Presentation transcript:

1

2

3 The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced in 1970 by Dr. E. F. Codd (of IBM) Commercial relational databases began to appear in the 1980s Today relational databases have become the dominant technology for database management.

4 12/25/2015CPSC-4360-01, CPSC-5360-01, Lecture 43 RDBMS-Introduction  The Relational Database Management System (RDBMS) has become the dominant DBMS in use today.  All data are logically structured withing relations (tables).  Design methodology will be based on the relational model

5 A Logical View of Data Relational database model’s structural and data independence enables us to view data logically rather than physically. The logical view allows a simpler file concept of data storage. The use of logically independent tables is easier to understand. Logical simplicity yields simpler and more effective database design methodologies.

6 The relational model Data is represented in the form of tables, and the model has 3 components. Data structure – data are organised in the form of tables with rows and columns. Data manipulation – powerful operations (using the SQL language) are used to manipulate data stored in the relations Data integrity – facilities are included to specify business rules that maintain the integrity of data when they are manipulated.

7 Relational definitions A relation is a named, two-dimensional table of data Every relation has a unique name, and consists of a set of named columns and an arbitrary number of unnamed rows An attribute is a named column of a relation, and every attribute value is atomic. Every row is unique, and corresponds to a record that contains data attributes for a single entity. The order of the columns is irrelevant. The order of the rows is irrelevant.

8 Summary of the Characteristics of a Relational Table

9 Tuples and attribute Tuple TitleYearLength Star Wars 1977124 Might Ducks 1991104 Wayne’s World 199295  Attributes of a relation serve as names for the columns of the relation  The rows of a relation, other than the header row containing The attribute names are called tuples.  A tuple has one component for each attribute of the relation. Attribute

10 Domains Each attribute of a relation is associated with a particular elementary type called domain. The components of any tuple of the relation must have, in each component, a value that belongs to the domain of the corresponding column. Example: with title string is associated with year integer is associated

11 Examples of domain for attributtes 12/25/2015CPSC-4360-01, CPSC-5360-01, Lecture 410

12 Relational structure We can express the structure of a relation by a Tuple, a shorthand notation The name of the relation is followed (in parentheses) by the names of the attributes of that relation, e.g.: Staff(staffNO,name,position,salary, branchNO)

13 12 Relational Keys A primary key is an attribute (or combination of attributes) that uniquely identifies each row in a relation. The primary key in the Staff relation is staffNO (this is why it is underlined) as in: Staff(staffNO, name, position, salary, branchNO) Must be able to store and retrieve a row of data in a relation, based on some data values stored in that row. Each record in a table must be unique, so we need a mean to provide this uniqueness.

14 © Pearson Education Limited, 200413 Relational Keys Candidate Key “K” Uniqueness : value uniquely identify that record. Irreducibility : No proper subset of K has the uniqueness property Primary key ? Is “city” a candidate key for the Branch table ? What about “zipCode”?

15 Composite and foreign keys A Composite key is a primary key that consists of more than one attribute. A Foreign key is used when we must represent the relationship between two tables and relations A foreign key is an attribute (possibly composite) in a relation of a database that serves as the primary key of another relation in the same database

16 Foreign keys Consider the following relations: EMPLOYEE1(Emp_ID,Name,Dept_Name,Salary) DEPARTMENT(Dept_Name,Location,Fax) The attribute Dept_Name is a foreign key in EMPLOYEE1. It allows the user to associate any employee wit the department they are assigned to. Some authors show the fact that an attribute is a foreign key by using a dashed underline.

17 Role table represents the name of the character played by an actor in videos. Is ActorNo a primary key ? Is catalogNo a primary key ? 12/25/2015CPSC-4360-01, CPSC-5360-01, Lecture 416

18 12/25/2015CPSC-4360-01, CPSC-5360-01, Lecture 417

19 More examples) Primary Key Foreign Key (implements 1:N relationship between customer and order) Combined, these are a composite primary key (uniquely identifies the order line)…individually they are foreign keys (implement M:N relationship between order and product)

20 Entity integrity

21 In some cases a particular attribute cannot be assigned a data value, e.g. when there is no applicable data value or the value is not known when other values are assigned. In these situations we can assign a null value to an attribute (null signifies absence of a value) But still primary key values cannot be null – the entity integrity rule states that “no primary key attribute (or component of a primary key attribute) may be null

22 Referential Integrity How referential integrity works Cascade Update and Delete

23 Referential Integrity Referential integrity controls the links between records. You can set referential integrity when related fields have the same data type. 22

24 Referential Integrity A Referential Integrity constraint is a rule that maintains consistency among the rows of two relations – it states that any foreign key value (on the relation of the many side) MUST match a primary key value in the relation of the one side. (Or the foreign key can be null) In the following Fig., an arrow has been drawn from each foreign key to its associated primary key. A referential integrity constraint must be defined for each of these arrows in the schema

25 Referential integrity constraints (Pine Valley Furniture) Referential integrity constraints are drawn via arrows from dependent to parent table

26 Referential integrity How do you know if a foreign key is allowed to be null? In this example, as each ORDER must have a CUSTOMER the foreign key of Customer_ID cannot be null on the ORDER relation Whether a foreign key can be null must be specified as a property of the foreign key attribute when the database is designed

27 How referential integrity works You can't enter a value in the foreign key field of a table if it doesn't exist in the primary key of the related table For example, you can't assign an order to a customer who is not in the Customer table You can't delete a record from a table if matching records exist in a related table For example, you can't delete an employee if there are orders assigned to the employee in the Order table 26

28 How referential integrity works (2) You can't change a primary key value for a record that has related records For example, you can't change an employee's ID in the Employee table if there are orders assigned to that employee in the Orders table.

29 Referential integrity What happens to order data if we choose to delete a customer who has submitted orders? We may want to see sales even though we do not care about the customer anymore. 3 choices are possible: Restrict – don’t allow delete of “parent” side if related rows exist in “dependent” side, i.e. prohibit deletion of the customer until all associated orders are first deleted

30 Referential integrity Cascade – automatically delete “dependent” side rows that correspond with the “parent” side row to be deleted, i.e. delete the associated orders, in which case we lose not only the customer but also the sales history Set-to-Null – set the foreign key in the dependent side to null if deleting from the parent side - an exception that says although an order must have a customer_ID value when the order is created, Customer_ID can become null later if the associated customer is deleted.

31 Assertions Assertion constraints similar to check constraints. Examples are You can assert that the total order amount for a customer cannot exceed the credit limit, even if the credit is in one table (customers, perhaps) and the orders belongs to another (order details ). Are business rules such as “A person may purchase a ticket for the celebrity football game only if that person is a season-ticket holder” There are various techniques for defining and enforcing such rules.

32 © Pearson Education Limited, 200431 Relational Languages Two main languages: SQL (Structured Query Language), standardized by ISO. QBE (Query-by-Example), alternative graphical “point-and-click” way of querying database.


Download ppt "The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced."

Similar presentations


Ads by Google