Class Notes (838,386)
Canada (510,872)
COMP 3005 (3)
Louis Nel (3)
Lecture

COMP 3005 - Relational Model.docx

6 Pages
264 Views
Unlock Document

Department
Computer Science
Course
COMP 3005
Professor
Louis Nel
Semester
Winter

Description
Module 3 Relational Model Classification of DBMS: Hierarchical Model • Represents database as a hierarchical tree (a partition) • A hierarchical model maps very well onto a file system Classification of DBMS: Network Model • Represents data as records with relationships captured as record sets (collections) Hierarchical and Network Models • Used in 60’s early 70’s • Mostly of historical interest now • Did not support high level queries • Users wrote programs which navigated the data’s structure • No theory of query optimization Classification of DBMS: Relational model • Represents database as collection of sets, or tables, linked through keys (not pointers!!) Relational Model • Proposed by Codd, 1970 • User would not be concerned with storage structure • Queries expressing in high level language (SQL –became the most important) • Users avoid navigating through the database • Based on very simple models of sets and relations • No Pointers!! Relational Model ­sample query SELECT grade FROM GRADES WHERE StdNo = 1223 AND Section = 100 • We are asking the database to: ­examine all tuples (rows) in table GRADES ­pick those satisfying some criteria ­produce a table on the grade field of tuples that satisfy the criteria • Notice we are not navigating the structure of the data ­left up to system to do it efficiently • There is not implicit understanding of the order in which rows will be visited! Classification of DBMS: Object­Oriented Model • Data is stored as objects, relationships are stored as object references to other objects • Objects have: attributes and operations Data and Memory • A key feature that distinguishes DBMS’s from other computer applications is: • A DBMS implicitly assumes data cannot fit in main memory ­it must be out there in secondary store (Hard Disk) or tertiary store (e.g.  mountable optical disk) • Remember in data structures class they said accessing any array element was O(1), ­in databases it can be O(log n) (now try writing  your O(nlogn) sort) The Rules Of Engagement • There is too much data to fit in main memory. • A Linear search of ALL the data may not be practical. • There must only be ONE COPY of any fact in the database. • It takes longer to locate and fetch the data than to process it. • Disks store data in blocks and can only be accessed in units of blocks. • There is no useful order to how the data is stored. • Data tables, like sets, cannot have duplicates. • Integrity is more important than speed (a corrupted database is useless). Relation Model is based on Mathematical Sets Important properties of Sets: {1, 67, 23, 48} { x | x is red } Elements are not ordered Sets cannot contain duplicates A Set cannot contain itself i.e {x | x is a set } cannot exist Relation Model is based on Mathematical Relations { (1,2), (2,7), (4,11), (5,9), } { (“Lou”,”Ottawa”), (“Mary” ,”Toronto”), (“Johnny”,”Hull”) } { (x,y) | y is the phone number of x } Relations are sets of tuples Relations map the elements of sets onto each other. Relation elements are tuples of elements from each set that represent a meaningful relationship Creates a relationship between elements of sets Relation Schema e.g. STUDENT(name, ssn, phone, address) R = STUDENT A1 = name degree = 4 Attribute Domains D = Domain = Set of all possible values dom(Ai) = domain of attribute Ai e.g. dom(phone) = {(ddd) ddd­dddd | d = digit 0...9} dom(name) = { x | x is a string } dom(age) = {x | 16  t2[account_no] ▯  1121 t2[account_no,balance] ▯  <1121,500> Relations (Mathematical definition) given schema R(A1,A2,...An) r(R) is a relation over schema R r(R) = {t1, t2, ... tm} t =  vi ˛   dom(Ai) i=1...n r(R) ˝  dom(A1) ∙  dom(A2)...∙ dom(An) Relations are Unordered •r(R) is a set of tuples therefore tuples (rows) are unordered •Attributes (columns) are ordered •There is a row physical order when stored in actual data files but no useful logical order because the database will visit the rows in  whatever order it chooses. Tuple Values • Tuple values are atomic • “Lou Smith” cannot be further divided into first name and last name values • Tuples cannot be multi­valued • Tuples can have NULL values • Tuples can be facts about entities or relationships • NOTE: both entities and relationships are modeledas relation Relational Database • A Relational Database is a set of relations satisfying certain integrity constraints • Relational Database Schema (S,IC) S={R1,R2,...,Rn} IC = integrity constraints • Relational Database DB DB = {r1, r2,...rm} such that ri is instance of some Rj from schema set S and each ri satisfies the integrity constraints • The point: a relational database in not just a set of tables –they much adhere to certain constraints Scenario • A company wishes to store and access information about its employees, departments and projects. • Departments will want to generate various reports from the stored data e.g. Data Description [Elmasri and Navathe] • Company organized into department which have unique name, unique number, manager and date manager started. • A Department has many locations and controls projects • Each project has a name and unique location • Employee information includes: name, sin number, address, salary, sex, and birth date. An employee works for one department, but  may work on several projects (which could be from different departments) • Employees have a supervisor and we want to keep track of the number of hours per week they spend on each project • For insurance purposes the company keeps track of an employees depends. It records the dependents name, sex, birthdate, and  relationship to the employee Relational Model Constraints • Domain Constraints • Key Constraints • Entity Integrity • Referential Integrity • Data dependencies ­discussed later in course ­functional depen
More Less

Related notes for COMP 3005

Log In


OR

Join OneClass

Access over 10 million pages of study
documents for 1.3 million courses.

Sign up

Join to view


OR

By registering, I agree to the Terms and Privacy Policies
Already have an account?
Just a few more details

So we can recommend you notes for your school.

Reset Password

Please enter below the email address you registered with and we will send you a link to reset your password.

Add your courses

Get notes from the top students in your class.


Submit