Data: Known facts that can be recorded and have an
implicit meaning. Database Management System (DBMS): A software package/ system to store and manage databases. Entities: Entities are specific things or objects in the mini- world that are represented in the database. Attributes: Properties used to describe an entity. Relationships: Relates two or more distinct entities with a specific meaning. Query: Retrieve from tables. Update: Change in tables. Meta-data: data about data. Information the describe the tables in the database. Isolation property: Each transaction is independent from the other. Atomicity property: Either execute all the lines successfully or none. Database Administrator (DBA): Manages the database. Database Designer: Specify the data and structures. End User: Users who access the database. Systems analysts: Determine the requirements for end users. Application programmers: Write code to allow end user to access database based on the requirements from systems analysts. Database Schema: The description of a database. Includes descriptions of the database structure, data types, and the constraints on the database. Schema Diagram: An illustrative display of (most aspects of) a database schema. Database State (Also called database instance): The actual data stored in a database at a particular moment in time. This includes the collection of all the data in the database. (Refers to the content of a database at a moment in time.) Initial Database State: Refers to the database state when it is initially loaded into the system. Valid State: A state that satisfies the structure and constraints of the database. Key: attribute which value in each row must be unique. Primary key (PK): An attribute that identify all table records. Surrogate key: Sometimes row-ids or sequential numbers are assigned as keys to identify the rows in a table. Domain: defines a structure or format that all values of an attribute must follow. Null value: is used to represent values that are unknown or not available or inapplicable. Constraints: are conditions that must hold on all valid relation states. NOT NULL: Ensures that a column cannot have a NULL value. UNIQUE: Ensures that all values in a column are different. PRIMARY KEY: A combination of a NOT NULL and UNIQUE. Uniquely identifies each row in a table FOREIGN KEY: Uniquely identifies a row/record in another table. CHECK: Ensures that all values in a column satisfies a specific condition. DEFAULT: Sets a default value for a column when no value is specified. INDEX: Used to create and retrieve data from the database very quickly. Candidate key: A super key with no repeated attribute is called candidate key. Key constraint: Ensuring that all rows in a relation satisfy the rules of the PK. (Also: Attributes whose values are distinct for each individual entity in entity set). Conceptual design: A high-level description of the database. Entity type: A collection of entities that have the same attributes. Should be a noun. Entity sets: Represent the sets of all possible entities. Key attribute: An attribute that has to be unique and can be used to identify an entity (PK in the database). Value sets (or domain of values): Specifies set of values that may be assigned to that attribute for each individual entity. Roll names: Specify the role that an entity plays in each relationship instance. (Should be a verb and read from left to right). Recursive relationship: When an entity is in a relationship with another entity of the same entity type. Total participation: Indicate if an entity in one side must be related to an entity in the other side. Partial participation: Indicate if an entity in one side does not have to be related to an entity in the other side. Cardinality Ratio for Binary Relationship: The number of entities to which another entity can be associated via a relationship set. One-to-one (1:1): An entity in one set is associated with at most one entity in another. Many-to-many (N:M): Entities of either set may be associated with any number of entities in the other. One-to-many (1:M): An entity in the first set is associated with 0 or more entities in the second set, but an entity in the second set can be associated with at most one entity in the first. Many-to-one (M:1): Similar to one-to-many but the reversal (An entity in the second set is associated with 0 or more entities in the first set, but an entity in the first set can be associated with at most one entity in the second.) Identifying relationship: Relates a weak entity type to its owner. (Always has a total participation constraint) Subclass Entity: inherits all attributes and relationships of superclass. Specialization: Process of defining a set of subclasses of an entity type. (Generate subclasses from one entity type) Generalization: Process of defining a generalized entity type from the given entity types. (Generate a superclass from multiple entity types) Disjointness constraint: Specify if the subclasses of the specialization must be disjointed. Structured Query Language (SQL): a programming language used to query and manipulate data. Char: fixed length ‘n’ number of characters. Varchar: variable-length ‘n’ number of characters. Int: Numerical data. Cannot be a fraction. Float: Numerical data that can be a fraction. Boolean: True or False. Relational Algebra: is the basic set of operations for the relational model. Functional dependencies (FDs): Are used to specify formal measures of the "goodness" of relational designs. Normalization: The process of decomposing unsatisfactory "bad" relations by breaking up their attributes into smaller relations. Normal form: Condition using keys and FDs of a relation to certify whether a relation schema is in a particular normal form. Denormalization: The process of storing the join of higher normal form relations as a base relation—which is in a lower normal form. key K: is a superkey with the additional property that removal of any attribute from K will cause K not to be a superkey any more. nested relations: attributes whose values for an individual tuple are non-atomic. Prime attribute: An attribute that is member of the primary key K. Full functional dependency: a FD Y -> Z where removal of any attribute from Y means the FD does not hold any more. second normal form (2NF): if every non-prime attribute A in R is fully functionally dependent on the primary key. Transitive functional dependency: a FD X -> Z that can be derived from two FDs X -> Y and Y -> Z. third normal form (3NF): if it is in 2NF and no non-prime attribute A in R is transitively dependent on the primary key. 1st normal form: All attributes depend on the key. 2nd normal form: All attributes depend on the whole key. 3rd normal form: All attributes depend on nothing but the key. Prime Attribute: Any attribute involved in a candidate key.