Conceptual Database Design Components
~ Antity : an “object” about which data is collected ;it may be a person , place , event , actual physical object , or simply a concept .
· Instance : an individual occurrence of an entity .
· External entity : an entity used to exchange data , but which is not stored in the database
~ Attribute : a unit fact about a particular entity : the fact should be atomic (indivisible)
~ Relationship : an association among entities ( see Relationships section below )
~ Business rule : a policy , procedure , or a standard that an organizations used and which dictates certain control on the data ; often implemented in databases as constraints .
Relationship
~ Maximum cardinality : the maximum number of instances one entity can be associated with
~ Minimum cardinality : the minimum number of instances one entity can be associated with
~ ransferable : a relationship is transferable if the parent may change over time
~ one-to-one
· Conditional in one direction : means that a correspondingrecord may or not be found on the optional side of the relationship.
· Conditional in both directions : means that corresponding records may or not be found on both sides of the relationship.
· Mandatory in one direction : means that a corresponding record must exist on the mandatory sied of the relationship.
~ one-to-many : indicates that a record in on etable may be related to many ( usually 0+ ) records in another table .
~ Many-to-many : this can be thought of as a one-to-many relationship that goes in both directions; many-to-many relationships are not natively supported in relational databases , but ther ways to convert them into something that can be handled
~ Intersection data : data that is associated with two related entities in a many-to-many relationship , and which only makes sense when asociated with both related entities; intersection data can be placed ( mapped ) into a saparate table to help relational database handle to many-to-many relationship .
~ Recursive : refers to relationships between instances of the same entity type .
ERDs ( Entity – Relationship Diagrams )
· Graphical data model
· Entities are represented by rectangles
· Unique identifier (primary key ) located in rectangle at top of the entity rectangle it is a unique identifier for
· RELATIONSHIPS
· ZERO OR ONE
· EXACTLY ONE
· ONE OR MORE
· ZERO OR MORE
~ Business rules are not usually included in the ERD graphic , but are often included as text attachments.
Logical Database Design Components
~ Table: a 2-D logical structure like a grid where each row contains attributes about a single instance of the entity type the table represents , and each column represents a particular attribute .
Ø Entities are sometimes split into tables .
Ø Different entities are sometimes merged into a single table ( rare ) .
Ø Entities are usually named using a plural , while tables are named in the singular.
Ø Different DBMSs and organizations have different naming standards , but assume that mixed case and spaces within names can couse conversion problems later , and that underscores are useful for separating words within a name
~ COLUMN : the smallest named unit of data in a database
Ø Columns must be given a data type.
Ø Data types help the database store data efficiently.
Ø Data types restrict attribute values to the correct data type and provides a set of behaviors consistents with the specified data type (such as addition , subtraction , etc , for numbers )
Ø Unfortunately , different vendors support differing zoos of data types .
~ CONSTRAINTS : rules the restrict allowable data values
· Primary key : one or more columns that uniquely identify a particular row in a table
o The constraint is that duplicate values are not allowed in the primary key column(s) of a table.
o Primary key are usually implemented as an index
o An index speeds up searches
· Foreign key : a field on the many-side side of a one-to-many relationship that uniquely identifies one row in another table ( usually by using the primary key in the latter table )
· Referential constraints :
o Can check for parent record when inserting new child record ( using the child record’s foreign key to check for a matching parent record )
o Don’t allow modification of child record’s foreign key if the new value is not represented by an instance in the parent table .
o Can delete all matching child record when a parent record is deleted .
· Intergrity constraints : used to make sure field ( attribute ) values that are invalid are not allowed.
o May check for a range of values , or specific valid values
o May check for NOT NULL
· TRIGGERS : a trigger is a program stored in the database that runs when a specific event happens . Triggers can be used to validate data ( among other things )
· Surrogate key : a key used to replace what would be a natural key for an entity
· Views : refers to the way different user may see the same database differently
o Views are stored queries ( virtual tables )
o Views can hide columns ( cleaner , more secure )
o Views can hide table ( cleaner , more secure )
o Views can hide complex operations such as joins
o Views may improve query performance