DesigningERDiagrams

上传人:gb****c 文档编号:243038854 上传时间:2024-09-14 格式:PPT 页数:21 大小:182.50KB
返回 下载 相关 举报
DesigningERDiagrams_第1页
第1页 / 共21页
DesigningERDiagrams_第2页
第2页 / 共21页
DesigningERDiagrams_第3页
第3页 / 共21页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,Christoph F. Eick,: Designing E/R Diagrams,21,Designing E/R Diagrams,Updated: January 25. 2005,Conceptual Data Models,Conceptual data models provide languages to describe conceptual schemas.,Conceptual schemas are used to describe the classes of objects that occur in an application area, their properties, their relationships, and the constraints that hold with respect to those classes of objects.,Center on “,what,kind of objects a database contains” and not on “,how,these objects are,stored,” (, Internal Schema),and not on “,how,these objects are,represented / displayed,to a person that accesses the database” (, External Schema),.,Conceptual Data Models -What are they good for?,As a database design tool formalizing the information requirements of the end users,As a documentation tool for databases (to help programmers, especially those that have to update the database),As a data model of a database management system (only very few experimental systems exist),As a tool to describe domain ontologies (terminology and concepts in a UoD),As a tool of system analysis,X,X,Person,name,ssn,Wedding,E/R Model Symbols for COSC 3480,occurred,to,Is-insured,T1,amount,(n,m),phone#,from,-,Entity Type,Attribute,Relationship,Type,Weak,Entity Type,Identifying,Relationship,Key Attribute,Partial Key,Optional Attribute,R,Entities of type X participate at least n, at most m,times in relationship R; * indicates,.,Y,Entity type X is a subtype of type Y,T2,Type T1 and T2 are overlapping; an entity can,belong to both T1 and T2; default is disjoint,Multi-valued Attribute,Derived Attribute,T2,T3,T1,T3=T2,T1,Course,Student,Department,name,ssn,grade,took,semesterid,title,salary,(0,30),(0,*),(1,1),University Problem Final03 COSC 3480,employs,Cou#,Semester,took-not-a-set: -2.5,Other Errors: -1.5 (or,-,3-4 if major),Grad,UGrad,gre,(0,*),(0,*),mentor,name,(0,25),(0,2),home,(0,*),(1,1),Exam1 Fall 2005 Problem,Design a “good” entity-relationship diagram that describes the following objects in a university application: students, departments, sections taught in the present and future, and courses. Departments have a name that uniquely identifies the department. Students are identified by a unique social security number, zero, one or multiple e-mail addresses, and an optional gpa (new students do not have a gpa yet). Courses have a unique course number and a course title. Courses are offered in one or more sections at a particular time. Sections are identified by the time they are offered (e.g. 10:30-noon TUTH) and by the course they are associated with. Additionally sections are characterized by the class room the section is taught in. Only information concerning sections that are taught in the present or in the future is stored in the database. Students take a course in a particular semester and receive a grade for their performance. Sometimes students take the same course again in a different semester. There are no limits on how many courses a student can complete, and on how many students completed a particular course. Each student is associated with a least one department. Some students are graduate students that are additionally characterized by their most recent GRE-score. Some graduate students work for a department and receive a salary for their services. Each department employs at most 75 graduate students; graduate students are not allowed to work for multiple departments.,Course,Student,Department,name,ssn,grade,took,semesterid,title,salary,(0,75),(0,*),(0.*),University Problem Exam105,employs,Cou#,Semester,took-not-a-set: -1.5,Section not weak: -2,Other Errors: -0.5-1 if minor,-23 if major,Grad,E-mail,(0,*),(0,*),assoc,name,(0,1),(0,*),(1,1),gpa,(1,*),gre,Section,offered,Time-offered,classroom,Team,contr,name,city,Player,name,ssn,birthd,played-in.,Date,pos,score,Home,Visit,Sal,(1,1),(25,*),(18,*),(0,*),(0,*),Solution Problem6 Exam0 Spring 2003,(0,*),play,Game#,Game,Contract set viol 3,Other: -2,pos,Month,from,to,(0,*),(0,*),(0,*),name,Identifying Keys and Relationshipsfor Entity Types,Each entity type that is not subtype of another entity type needs:,Case1: Normal Entity Type (single rectangle),A single attribute (straight line) or,A set of attributes or,Case2: Weak Entity Type (double rectangle),A set of relationships (double diamond) or,A set of relationships or a single attribute (dotted line) or,A set of relationships and a set of attributes (dotted line),that uniquely identifies the instances of the entity type,Remark: min-max cardinalities for weak entity types for their participation in identifying relationships have to be (1,1)!,Male,Female,Person,name,ssn,Wedding,(0,*),E/R Diagram for,Multi-Weddings,occurred,(0,*),from,to,(1,1),Is-insured,Company,name,amount,(0,*),(0,*),location,husband,wife,Valid E/R Diagrams,An E/R diagram is valid if and only if:,It is,syntactically correct,(e.g. specifies all key constraints,),It specifies the entity types, relationship types, attribute types, and subtype relationships necessary to,satisfy all information requirements,.,It does not specify any,invalid constraints,.,Priorities when Choosing Between Valid E/R Diagrams,Express all constraints (you can express!),Use and do not change terminology and class structure of the application domain,Keep it simple (avoid defining entity types that do not serve any purpose),Avoid redundancy (but derived attributes are okay)!,A,Quite Bad,E/R Diagrams,Company,ssn,gender,works-,for,department,gpa,(0,*),Name,Person,salary,(0,*),(0,*),is-married-,to,husband,wife,(0,*),takes,Section,(0,*),Course,(0,*),C#,S#,time,Example: Too many Entity Types /Dont use Foreign Keys,Company,ssn,name,is-,insured,Name,Person,(0,*),(0,*),Example: Persons as well as animals can be insured,Animal,P#,(0,*),A#,Boss-ssn,Bad E/R Diagram!,E/R Diagram Design Typical Errors,Missing Constraints,Unexpressed Constraints due to bad design,Every entity type needs a key,Attribute associated with the wrong entity type (relationship type),Relationships are sets!,No partial participation in relationships!,Missing existence dependencies (use subclasses),Invalid constraints,Using Subtypes for n:1 relationships; using relationships when subtypes should be used.,When defining relationships: Too general entity types for participating entities,Too many entity types,Using foreign keys instead of relationships,Other Issues in E/R Design,No relationships of relationships - solution: create an entity type that represent instances of the relationship (or use aggregation as discussed in the textbook),value or entity type - solution: choose entity type if it helps expressing constraints; otherwise, use value-type.,University E/R Design Problem,Design a “good” entity-relationship diagram that describes the following objects in an university application: students, instructors, professors, and courses. Students are subdivided into graduate and undergraduate students. Students take a course in a particular semester and receive a grade for their performance. Sometimes students take the same course again in a different semester. There are no limits on how many courses a student can take, and on how many students completed a particular course. Each graduate student has exactly one advisor, who must be a professor, whereas each professor is allowed to be the advisor of at most 20 students. Courses have a unique course number and a course title. Students and professors have a name and a unique ssn; students additionally have a gpa; moreover, graduate students have a GRE-score, and undergraduate students have a single or multiple majors. Professors can be students and take courses, but graduate students cannot be undergraduate students.,Indicate the cardinalities for each relationship type; assign roles (role names) to each relationship if there are ambiguities! Use sub-types, if helpful to express constraints!,Course,Student,Professor,Person,name,ssn,grade,gpa,took,semesterid,title,gre,(0,1),(0,*),(0,20),University Problem (slightly different from Exam003),advises,Cou#,Semester,Enrolls-not-a-set: -4,Student must be ugrad or grad: -1,Other Errors: -2 (or 3 if quite major),Ugrad,Grad,major,(0,*),(0,*),Hotel,Gold_Cl.,Client,addr,ssn,discount,G#,room-type,address,number,(0,*),A:=guaranteed; B:=has_transaction; C:=for_hotel; D:=consists_of;,E:=for_category; F=avail-rooms; G=total-rooms;,modified on Feb. 3, 2004,Ho#,Transaction,Category,Cred-Card,(0,*),(0,1),Reservation,company,C,E,D,(1,1),B,(1,50),(1,1),(0,300),(1,1),F,#avail,from,rate,to,day_,made,Res#,(1,1),tr#,(0,*),(0,*),(1,*),phone#,A,Problem 1,Exam1 Fall03,Grading:,Minor Error: -1,Medium Error: -2,Major Error: -3 or 4,0-4 points if too many errors,day,Date,#total,G,(0,*),(1,*),Aggregation,Used when we have to model a relationship involving (entity sets and) a,relationship set,.,Aggregation,allows us to treat a relationship set as an entity set for purposes of participation in (other) relationships.,Aggregation vs. ternary relationship,:,Monitors is a distinct relationship,with a descriptive attribute.,Also, can say that each sponsorship,is monitored by at most one employee.,budget,did,pid,started_on,pbudget,dname,until,Departments,Projects,Sponsors,Employees,Monitors,lot,name,ssn,since,NFL E/R Design -Ungraded Homework - due: Th., Jan. 27,2005,Design an Entity-Relationship Diagram that models the following objects and relationships in the world of football (NFL): teams, players, games, managers and contracts. Each (NFL-) team has a unique team name, and a city it plays in. Each person being part of the NFL-world has a unique ssn and a name. Additionally, for players their weight, height, position and birth dates are of importance. Players have a contract with at most one team and receive a salary for their services, and teams have at least 24 and at most 99 players under contract. Each team has one to three managers; managers can work for at most 4 teams and receive a salary for each of their employments. Players cannot be managers. A game involves a home-team and visiting-team; additionally, the day of the game, and the score of the game are of importance; teams play each other several times in a season (not on the same day!). Moreover, for each game played we like to know which players participated in the game and how many minutes they played.,Indicate the cardinalities for each relationship type; assign roles (role names) to each relationship if there are ambiguities! Use sub-types, if helpful to express constraints!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!