database baird
key
a combination of one or columns that is used to identify particular rows in a relation
Role of OODBMS (Object Oriented Database Management Systems)
designed to make it easy to store data in OOP objects. Never caught on, and is fading away. Has no substantial advantage over relational DB
rules for 1:1, 1:M, and M:N
1:1 - A->B & B->A, may be in the same relation 1:M - A->B B->->A, all other attributes must be functionally determined by the key M:N - A->->B & B->->A, if alone together in a relation, composite key must be (A,B), can only work if they are the composite key and every new attribute is dependent on the whole key
Evolution from centralized to client server to distributed
1. Centralized 2. Single user pc DBMS 3. Db server on LAN 4. Client/server 5. Distributed DBMS
Explosion of DB useage
1980 - 10,000 worldwide 1992 - 3 million 1995 - 5 million 2000 - 20 million
Normal Forms
1NF - all relations are in 1NF, a set of N-tuples 2NF - All non-key attributes are dependent on all of the key, pertains primarily to relations with composite keys 3NF - 2NF + no transitive dependencies BCNF - 3NF + every determinant is a candidate key 4NF - BCNF + no multivalued dependencies 5NF - no formal definition, more theoretical than practical DK/NF - every constraint on the relation is a logical consequence of the definition of domains and keys, no modification anomalies
Definition of database
A self-describing collection of integrated records
DBMS definition
A set of programs used to define, administer, and process the database and its applications. Stands between users and data
Similarities between DB application development and Normal application development
Application development proceeds in parallel with database development
ER Model
Chen - 1976
Difference between database and file processing systems
Data is stored in separate files Data integration is difficult Storage space is expensive and limited
Data, metadata, and overhead data and their roles
Data: recorded facts and numbers Metadata: tables of data about the data Overhead:
DBMS Subsystems and their roles
Engine - logical to physical translation Definition Tools - schema and subschema (DDL) Processing Interface - 1. Update and query facilities 2. Embedded DB access code (3GL) Application Development - forms, reports, menus, code generators Data Dictionary and Data Administration - query and reports on metadata
Definitions: entity, entity class, instance, attributes, relationships, degree, cardinality(max and min)
Entity - usually refers to a class, something the users want to track Entity class - a collection of objects which the user can identify and track Instance - one particular object Attributes - something that describes an entity Relationships - associations between entities and instances Degree - number of entity classes in one relationship Min Cardinality - smallest number of instances in a relationship Max Cardinality - largest number of instances in a relationship
*******Essence of DK/NF********
Every relation has only one theme
Relational Model vs Network Model vs Hierarchical model
Hierarchical (1960s) - DL/I(data Language I) use trees/hierarchies to represent relationships Network - (CODASYL) Allowed many relations in a tree-like structure that allowed multiple parents. An extension of the hierarchical structure Relational - Based on relational algebra, all data is represented in terms of tuples, grouped into relations DB2 by IBM was first relational database
Definition and reason for importance of data independence
Importance: foundation for change, different apps need different views Separation of logical and physical views Many levels possible Binding
BOMP relationship
a classic M:N recursive Bill of Materials Processing
Relational Model Codd 1970 Advantages and Disadvantages
Problem: what attributes "belong" together in the same record? Advantages: Data Independence Flexibility easiest to use by end user Disadvantages: hardest to implement high overhead sometimes slow performance physical storage consumption
Concept of Binding
Translating the logical view to the physical view Logical view isn't real data but just displays data in a way thats easily understandable
multivalued dependency
a->->b and a->-> c but b and c are not related
multidetermination
a->->b: given a we can calculate one or more values for b
composite keys, nonkey attributes, candidate keys
composite key - key that has two colums or more nonkey attribute - an attribute that is not part of the key candidate key - a determinant that determines all of the other columns in a relation
domains
ex) zip code values physical - must be 5 digits semantic - must be a valid United States Zip code, legal values
functional dependency
exists when the value of one or more attributes determines the value of another attribute
archetype/instance pattern
occurs when ID-Dependent child is an instance of an abstract or logical parent eg) YACHT_DESIGN:YACHT HOUSE_MODEL:HOUSE
determinant
variable that determines another in a functional dependency