keys The values of attributes of an entity must be such that they can uniquely identify the entity. • No two entities in an entity set are allowed to have exactly the same value for all attributes; a key for an entity is a set of attributes that suffice to distinguish entities from each other. • Superkey, set of columns that determine ALL columns; candidate key, min set of columns; PK, a single chosen candidate key. Choice of primary keys depends on cardinality of binary r/s • M-M, union of PK; O-M and M-O, PK of M side; O-O, PK of either side • Weak entity set: File—saved in – folder: file is the weak entity set Specialization/Generalization • If the generalization is disjoint and complete, may remove the person relation (ie. employee entity below) • Attribute inheritance – a lower-level entity set inherits all the attributes and relationship participation of the higher level entity set to which it is linked • Top-down: Form a schema for each lower-level entity set, include primary key of higher-level entity set and local attributes; Drawback: getting information about, an employee requires accessing two relations, the one corresponding to the low-level schema and the one corresponding to the high-level schema ER Design Decisions • The use of an attribute or entity set to represent an object. • Whether a real-world concept is best expressed by an entity set or a relationship set. • The use of a ternary relationship versus a pair of binary relationships. • The use of a strong or weak entity set. • The use of specialization/generalization – contributes to modularity in the design. • The use of aggregation – can treat the aggregate entity set as a single unit without concern for the • details of its internal structure. (c) is better than (d) as it allows recording other information about the assignment A decomposition of R consists of replacing R by two or more relations such that • Each new relation scheme contains a subset of the attributes of R, and • Every attribute of R appears as an attribute of at least one of the new relations 3 problems with decomposition • Lossiness, dependency checking may require join, some queries become more expensive Always lossless, but may not be dependencies preserving (no)