A collection of data an organization needs and owns, maintains, and uses jointly.
| Type | Description |
|---|---|
| Conceptual schema | Defines the entire database from the users' and database administrator's perspective. Specifies entities, relationships, constraints, access rights, and integrity rules. |
| Internal schema | Describes the database from the designer's or developer's perspective and defines how the conceptual schema is implemented on physical storage. Specifies physical structure and the physical order of internal records. |
| External schema | Describes the database from a user's perspective. Different users and programs can have different logical views. |

| Type | Description |
|---|---|
| Candidate key | A key that satisfies uniqueness and minimality . |
| Primary key | The candidate key chosen as the main key. Its values cannot be duplicate or NULL . |
| Alternate key | A candidate key other than the primary key. |
| Foreign key | An attribute that references a primary key in another relation. The referenced key is unique, but foreign-key values in the referencing relation may repeat. |
| Superkey | A set of attributes that uniquely identifies tuples in a relation. |
| Type | Description |
|---|---|
Entity integrity | No attribute in the primary key can be NULL , and the key must be unique. |
Domain or attribute integrity | Attribute values must belong to the defined domain . |
Referential integrity | A foreign key value is either NULL or matches a primary key value in the referenced relation. |
| User-defined integrity | Data must satisfy the integrity rules defined by users. |
| Enforcing data integrity | Constraints help ensure that data is accurate, consistent, and valid. |
Aprocedural languagethat defines how to retrieve the desired information.
| Symbol | Operator | Description |
|---|---|---|
| σ | Select | Selects tuples that satisfy a condition. |
| π | Project | Selects specific attributes from a set of tuples. |
| ⋈ | Join | Joins two relations based on common attributes. |
| ÷ | Division | Divides one relation by another. |
| Symbol | Operator | Description |
|---|---|---|
| ∪ | Union | Returns the union of two relations. |
| ∩ | Intersection | Returns the intersection of two relations. |
| - | Difference | Returns the set difference of two relations. |
| x | Cartesian product | Combines each tuple in one relation with each tuple in the other. |
Anonprocedural languagethat describes the information to retrieve.
| Symbol | Operator | Description |
|---|---|---|
| ∧ | AND | True when both conditions are true. |
| ∨ | OR | True when at least one condition is true. |
| ¬ | NOT | Negates a condition. |
| Symbol | Operator | Description |
|---|---|---|
| ∀ | For all | The condition holds for every tuple. |
| ∃ | There exists | The condition holds for at least one tuple. |
A process for minimizing redundancy and preserving data integrity.
System tables maintain definitions and specifications for all data objects.
An ordered data structure built separately to make records quicker to locate and retrieve.