winter 2002arthur keller – cs 1801–1 computer science 180: database systems arthur m. keller...
Post on 21-Dec-2015
219 views
TRANSCRIPT
![Page 1: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/1.jpg)
Winter 2002 Arthur Keller – CS 180 1–1
Computer Science 180:Database Systems
• Arthur M. Keller• Email: [email protected] (best way to reach me)• Office: Baskin Engineering 153a, (831) 459-1485• Office Hours: Tuesdays 4:30–5:30pm and by
appointment• Class web page:
http://www.cse.ucsc.edu/classes/cmps180• My web page: http://www.cse.ucsc.edu/~ark• Assignments due most Tuesdays; Project Parts due
most Thursdays• T.A. – T.J. Steed
![Page 2: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/2.jpg)
Winter 2002 Arthur Keller – CS 180 1–2
TextbooksRequired:• Database Systems: The Complete Book, by Garcia-Molina,
Ullman, and Widom (first edition), Prentice Hall, 2002.Recommended: (one of these)• A Guide to the SQL Standard: A User's Guide to the
Standard Database Language SQL, (fourth edition), by C.J. Date and Hugh Darwen, Addison-Wesley, 2000.
• SQL: 1999 - Understanding Relational Language Components, (first edition), by Melton and Simon, Morgan Kaufmann, 2002.
• PostgreSQL: Introduction and Concepts, Bruce Momjian, Addison-Wesley, 2001.
You may also want:• Books on Unix, Perl, PHP, and CGI.
![Page 3: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/3.jpg)
Winter 2002 Arthur Keller – CS 180 1–3
Grading
• Assignments: 8 @ 2% each = 16% of grade.
• Project: 7 @ 5% each = 35% of grade.
• Midterm: Feb. 14 (TH) in class. 14% of grade.
• Final: Mar. 16 (Sa) 12–3PM in class. 35% of grade.
![Page 4: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/4.jpg)
Winter 2002 Arthur Keller – CS 180 1–4
Project
• You will build an application using a relational database system (PostgreSQL) accessed via the web.
• The project has 7 parts (due most Thursdays), starting with design and ending up with a complete application.
• The early programming assignments should be written in C, C++ or Java.
• Some students found it helpful to switch to PHP or Perl for the final project.
![Page 5: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/5.jpg)
Winter 2002 Arthur Keller – CS 180 1–5
Warning
• This class is a lot of work.
• But it is worth it.
• Of all courses you take at UCSC, this may be the one that gets you a job.
![Page 6: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/6.jpg)
Winter 2002 Arthur Keller – CS 180 1–6
Schedule• Today: Jan. 3 (TH)
Intro, Entity-Relationship Model. Read Chapter 1 and Sections 2.1-2.2.
• Jan. 8 (T) Weak Entity Sets, Entity-Relationship Design. Read Sections 2.3-2.4.
• Jan. 10 (TH) Relational Model, Functional Dependencies. Read Sections 3.1-3.5.
• Jan. 15 (T) Normal Forms, Multivalued Dependencies. Read Sections 3.6-3.7. Assignment 1 due.
![Page 7: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/7.jpg)
Winter 2002 Arthur Keller – CS 180 1–7
Syllabus• The background and history of database
management systems.• The fundamentals of using a database
management systems.• Industry standards used for database management
systems.• Theoretical background of the relational model.• Queries and Updates.• Logic databases.• Transactions and Security.• Object-oriented, object-relational, semi-structured
and XML database systems.• Mediation and warehousing.
![Page 8: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/8.jpg)
Winter 2002 Arthur Keller – CS 180 1–8
What is a Database Management System?
1. Manages very large amounts of data.2. Supports efficient access to very large amounts of data.3. Supports concurrent access to very large amounts of
data. Example: bank and its ATM machines.
4. Supports secure, atomic access to very large amounts of data. Contrast two people editing the same UNIX file – last to write “wins” –
with the problem if two people deduct money from the same account via ATM machines at the same time – new balance is wrong whichever writes last.
![Page 9: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/9.jpg)
Winter 2002 Arthur Keller – CS 180 1–9
Relational Model
• Based on tables, as:acct # name balance
12345 Sally 1000.21
34567 Sue 285.48
… … …
• Today used in most DBMS's.
![Page 10: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/10.jpg)
Winter 2002 Arthur Keller – CS 180 1–10
The DBMS Marketplace• Relational DBMS companies – Oracle, Sybase – are among the largest
software companies in the world.
• IBM offers its relational DB2 system. With IMS, a nonrelational system, IBM is by some accounts the largest DBMS vendor in the world.
• Microsoft offers SQL-Server, plus Microsoft Access for the cheap DBMS on the desktop, answered by “lite” systems from other competitors.
• Relational companies also challenged by “object-oriented DB” companies.
• But countered with “object-relational” systems, which retain the relational core while allowing type extension as in OO systems.
![Page 11: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/11.jpg)
Winter 2002 Arthur Keller – CS 180 1–11
Three Aspects to Studying DBMS's1. Modeling and design of databases.
Allows exploration of issues before committing to an implementation.
2. Programming: queries and DB operations like update. SQL = “intergalactic dataspeak.”
3. DBMS implementation.
CS180 = (1) + (2), while (3) is covered partly in CS277.
![Page 12: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/12.jpg)
Winter 2002 Arthur Keller – CS 180 1–12
Query LanguagesEmployee
Name Dept
Department
Dept Manager
SQL
SELECT ManagerFROM Employee, DepartmentWHERE Employee.name = "Clark Kent”
AND Employee.Dept = Department.Dept
Query LanguageData definition language (DDL) ~ like type defs in C or Pascal
Data Manipulation Language (DML)Query (SELECT)UPDATE < relation name >SET <attribute> = < new-value>WHERE <condition>
![Page 13: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/13.jpg)
Winter 2002 Arthur Keller – CS 180 1–13
Host Languages C, C++, Fortran, Lisp, COBOL
Application prog.
Local Vars
DBMS
Calls toDB
Host language is completely general (Turing complete)but gives you no support
Query language—less general "non procedural" andoptimizable
(Memory)
(Storage)
![Page 14: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/14.jpg)
Winter 2002 Arthur Keller – CS 180 1–14
Relational model is good for:
Large amounts of data —> simple operations
Navigate among small number of relations
Difficult Applications for relational model:
• VLSI Design (CAD in general)
• CASE
• Graphical Data
CPUALU
ADDER
Adder
A
FA
ALU ADDER
Bill of Materials or transitive closure
![Page 15: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/15.jpg)
Winter 2002 Arthur Keller – CS 180 1–15
Where number of "relations" is large, relationships are complex•Object Data Model•Logic Data Model
OBJECT DATA MODEL
1. Complex Objects – Nested Structure (pointers or references)
2. Encapsulation, set of Methods/Access functions3. Object Identity4. Inheritance – Defining new classes like old classes
Object model: usually find objects via explicit navigationAlso query language in some systems
![Page 16: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/16.jpg)
Winter 2002 Arthur Keller – CS 180 1–16
LOGIC (Horn Clause) DATA MODEL• Prolog, Datalogif A1 and A2 then Bprolog B:- A1 and A2
Functions s(5) = 6 (successor)Predicates with Arguments sum(X,Y,Z) X + Y = Z
sum(X,0,X) means X + 0 = X (always true for all X)sum(X,s(Y),s(Z)):-sum(X,Y,Z)means X+(Y+1) = (Z+1) if X + Y = Z
More power than relational
Can Compute Transitive Closureedge(X,Y)path(X,Y) :- edge(X,Y)path(X,Z) :- path(X,Y) & edge(Y,Z)
![Page 17: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/17.jpg)
Winter 2002 Arthur Keller – CS 180 1–17
Hierarchical
60’s
70's
80's
90’s
now
RelationalChoice for most new
applications
Object Bases Knowledge Bases
Network
![Page 18: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/18.jpg)
Winter 2002 Arthur Keller – CS 180 1–18
Students
Entity/Relationship ModelDiagrams to represent designs.• Entity like object, = “thing.”• Entity set like class = set of “similar”
entities/objects.• Attribute = property of entities in an entity set,
similar to fields of a struct.• In diagrams, entity set rectangle;
attribute oval.ID name phone
height
![Page 19: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/19.jpg)
Winter 2002 Arthur Keller – CS 180 1–19
Relationships
• Connect two or more entity sets.
• Represented by diamonds.
Students CoursesTaking
![Page 20: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/20.jpg)
Winter 2002 Arthur Keller – CS 180 1–20
Relationship Set
Think of the “value” of a relationship set as a table.
• One column for each of the connected entity sets.
• One row for each list of entities, one from each set, that are connected by the relationship.
Students Courses
Sally CS180
Sally CS111
Joe CS180
… …
![Page 21: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/21.jpg)
Winter 2002 Arthur Keller – CS 180 1–21
Multiway RelationshipsUsually binary relationships (connecting two E.S.) suffice.• However, there are some cases where three or more E.S.
must be connected by one relationship.• Example: relationship among students, courses, TA's
(and graders).
Possibly, this E/R diagram is OK:
Students CoursesTaking
Assisting
TA/Graders
![Page 22: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/22.jpg)
Winter 2002 Arthur Keller – CS 180 1–22
• Works in CS180, because each TA (or grader) is a TA of all students. Connection student-TA is only via the course.
• But what if students were divided into sections, each headed by a TA? Then, a student in CS180 would be related to
only one of the TA's for CS180. Which one?
• Need a 3-way relationship to tell.
![Page 23: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/23.jpg)
Winter 2002 Arthur Keller – CS 180 1–23
Students Courses TAsAnn CS180 JanSue CS180 PatBob CS180 Jan… … …
Students
Courses
TAs
Enrolls
![Page 24: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/24.jpg)
Winter 2002 Arthur Keller – CS 180 1–24
Beers-Bars-Drinkers Example
• Our running example for the course.name addr license
name manf name addr
Beers Drinkers
BarsServes Frequents
Likes
![Page 25: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/25.jpg)
Winter 2002 Arthur Keller – CS 180 1–25
Multiplicity of Relationships
Representation of Many-One
• E/R: arrow pointing to “one.” Rounded arrow = “exactly one.”
Many-many Many-one One-one
![Page 26: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/26.jpg)
Winter 2002 Arthur Keller – CS 180 1–26
Example:Drinkers Have Favorite Beers
name addr license
name manf name addr
Beers Drinkers
BarsServes Frequents
Likes
Favorite
![Page 27: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/27.jpg)
Winter 2002 Arthur Keller – CS 180 1–27
One-One Relationships
Put arrows in both directions.
Design Issue:Is the rounded arrow justified?Design Issue:Here, manufacturer is an E.S.In earlier diagrams it is an attribute.Which is right?
Manfs BeersBest-seller
![Page 28: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/28.jpg)
Winter 2002 Arthur Keller – CS 180 1–28
Attributes on Relationships
• Shorthand for 3-way relationship:
Bars BeersSells
price
Bars BeersSells
price
Prices
![Page 29: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/29.jpg)
Winter 2002 Arthur Keller – CS 180 1–29
• A true 3-way relationship. Price depends jointly on beer and bar.
• Notice arrow convention for multiway relationships: “all other E.S. determine one of these.” Not sufficiently general to express any
possibility. However, if price, say, depended only on the
beer, then we could use two 2-way relationships: price-beer and beer-bar.
Or better: just make price an attribute of beer.
![Page 30: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/30.jpg)
Winter 2002 Arthur Keller – CS 180 1–30
Converting Multiway to 2-Way• Baroque in E/R, but necessary in certain “object-oriented” models.
• Create a new connecting E.S. to represent rows of a relationship set. E.g., (Joe's Bar, Bud, $2.50) for the Sells relationship.
• Many-one relationships from the connecting E.S. to the others.
Bars Beers
The-Bar
Price
The-Beer
The-Price
BBP
![Page 31: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/31.jpg)
Winter 2002 Arthur Keller – CS 180 1–31
Roles
Sometimes an E.S. participates more than once in a relationship.
• Label edges with roles to distinguish.
Husband Wifed1 d2
d3 d4
… …Drinkers
Married
husband wife
![Page 32: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/32.jpg)
Winter 2002 Arthur Keller – CS 180 1–32
• Notice Buddies is symmetric, Married not. No way to say “symmetric” in E/R.
Design Question
Should we replace husband and wife by one relationship spouse?
Buddy1 Buddy2d1 d2
d1 d3
d2 d1
d2 d4
… …Drinkers
Buddies
1 2
![Page 33: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/33.jpg)
Winter 2002 Arthur Keller – CS 180 1–33
More Design Issues
1. Subclasses.
2. Keys.
3. Weak entity sets. (Next class.)
![Page 34: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/34.jpg)
Winter 2002 Arthur Keller – CS 180 1–34
Subclasses
Subclass = special case = fewer entities = more properties.
• Example: Ales are a kind of beer. In addition to the properties (= attributes and relationships) of beers, there is a “color” attribute for ales.
![Page 35: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/35.jpg)
Winter 2002 Arthur Keller – CS 180 1–35
E/R Subclasses• Assume subclasses form a tree (no multiple
inheritance).• isa triangles indicate the subclass relation.
name manfBeers
Alescolor
isa
![Page 36: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/36.jpg)
Winter 2002 Arthur Keller – CS 180 1–36
Different Subclass Viewpoints1. E/R viewpoint: An entity has a component in each entity set
to which it logically belongs. Its properties are the union of the properties of these E.S.
2. Contrasts with object-oriented viewpoint: An object (entity) belongs to exactly one class. It inherits properties
of its superclasses.name manfBeers
Alescolor
isa Pete’s Ale
![Page 37: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/37.jpg)
Winter 2002 Arthur Keller – CS 180 1–37
Multiple InheritanceTheoretically, an E.S. could be a subclass of
several other entity sets.name manf
Beers
name manf
Wines
GrapeBeers
isaisa
![Page 38: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/38.jpg)
Winter 2002 Arthur Keller – CS 180 1–38
Problems
How should conflicts be resolved?• Example: manf means vintner for wines,
bottler for beers. What does manf mean for “grape beers”?
• Need ad-hoc notation to resolve meanings.• In practice, we shall assume a tree of entity
sets connected by isa, with all “isas” pointing from child to parent.
![Page 39: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/39.jpg)
Winter 2002 Arthur Keller – CS 180 1–39
Keys
A key is a set of attributes whose values can belong to at most one entity.
• In E/R model, every E.S. must have a key. It could have more than one key, but one set of
attributes is the “designated” key.
• In E/R diagrams, you should underline all attributes of the designated key.
![Page 40: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/40.jpg)
Winter 2002 Arthur Keller – CS 180 1–40
Example• Suppose name is key for Beers.
• Beer name is also key for ales. In general, key at root is key for all.
name manfBeers
Alescolor
isa
![Page 41: Winter 2002Arthur Keller – CS 1801–1 Computer Science 180: Database Systems Arthur M. Keller Email: ark@cse.ucsc.edu (best way to reach me) Office: Baskin](https://reader036.vdocuments.net/reader036/viewer/2022062714/56649d555503460f94a33544/html5/thumbnails/41.jpg)
Winter 2002 Arthur Keller – CS 180 1–41
Example: A Multiattribute Key
• Possibly, the combination of hours + room also forms a key, but we have not designated it as such.
dept roomCourses
number hours