# Topic List

* Basic Definition: Data, Information, Database, Database Management System, Database System
* Different types of Database: Relational Database, Non Relational Database, Object Oriented Database
* Basic Terms: Schema, Instance, Table/Relation/Entity Set, Column/Field/Attribute, Row/Record/Tuple/Entity, Value/Data, Data Type/Attribute Domain, Keys
* DBMS Architecture: 1-Tier Architecture, 2-Tier Architecture, 3-Tier Architecture
* Codd's 12 Rules for Relational DBMS
* Data Models: Entity-Relationship Model, Relational Model, Object Oriented Model
* Entity-Relationship (ER) Model
  * Entity and Entity Set: Strong Entity, Weak Entity
  * Attributes: Simple Attribute, Composite Attribute, Stored Attribute, Derived Attribute, Single-valued Attribute, Multi-valued Attribute, Key Attribute
  * Keys: Super Key, Candidate Key, Primary Key, Composite Key, Foreign Key, Secondary or Alternative key, Non-key Attributes, Non-prime Attributes
  * Relationships
    * Degree of Relationship: Unary (/Recursive) Relationship, Binary Relationship, Ternary Relationship, N-ary Relationship
    * Cardinality of Relationship: One to One, One to Many, Many to One, Many to Many
    * Strong Relationship, Weak Relationship
  * Enhanced ER Model: Generalization, Specialization, Aggregation
  * ER Model to Relational Model
* Functional Dependencies
  * Terms: Inference Rule, Axiom, Determinant, Dependent
  * Armstrong’s Axioms: Augmentation, Reflexivity, Transitivity, Decomposition/Projective, Union/Additive, Pseudo Transitive
  * Types: Trivial, Non Trivial, Multivalued, Transitive, Full, Partial
  * Find: Attribute Closure, Super Keys, Candidate Keys
* Normalization: First Normal Form (1NF), Second Normal Form (2NF), Third Normal Form (3NF), Boyce-Codd Normal Form (BCNF), Fourth Normal Form (4NF), Fifth Normal Form (5NF)
* Denormalization
* Decomposition: Lossless Decomposition, Lossy Decomposition
* Relational Algebra
* Relational Calculus
* Constraints and Triggers
* Transaction Management
* Concurrency Control
* File Organization
* Indexing: Primary Index, Secondary Index, B+ Trees, Hash Tables
* Query Optimization
* Recovery
* Access Control and Security
* Structured Query Language
  * Data Definition Language (DDL): Create, Alter, Drop, Rename, Truncate
    * Alter: Database, Event, Function, Instance, Logfile Group, Procedure, Server, Table, Tablespace, View (Can not be Altered: Index, Spatial Reference System, Trigger)
    * Create: Database, Event, Function, Index, Logfile Group, Procedure, Server, Spatial Reference System, Table, Tablespace, Trigger, View
    * Drop: Database, Event, Function, Index, Logfile Group, Procedure, Server, Spatial Reference System, Table, Tablespace, Trigger, View
    * Rename: Table
    * Truncate: Table
  * Data Manipulation Language (DML): Insert, Update, Delete
  * Data Query Language (DQL): Select
  * Transaction Control Language (TCL): Start Transaction, Begin, Commit, Rollback, Savepoint, Lock Instance/Table, Unlock Instance/Table
  * Data Control Language (DCL): Grant, Revoke
