Learning Outcome 001 Flashcards
Determine end-user views, outputs, and transaction processing requirements.
Understand what data users need to view, what outputs (reports, dashboards) they require, and how transactions (e.g., insert, update, delete) will be processed.
Determine entity types.
Identify the main objects or concepts (e.g., Customer, Product, Order) that will be represented in the database.
Identify relationship types.
Define how entities are related (e.g., a Customer places an Order, an Order contains Products).
Identify attributes.
List the properties or details of each entity (e.g., Customer attributes: Name, Address, Phone).
Determine attribute domains.
A ‘Domain Attribute’ in Computer Science refers to an attribute used to reference another entity, particularly a member within that entity. It helps establish relationships between different entities in a database system.
Determine candidate key.
A minimal set of attributes that can uniquely identify each record in a table, ensuring data integrity and allowing for efficient data retrieval.
•Example: In a Customer
table, both CustomerID
and Email
could be candidate keys.
Determine Primary Key
The primary key is the candidate key chosen to uniquely identify each record in a table.
•Example: In a Customer
table, CustomerID
is selected as the primary key.
Determine Alternate Key
Alternate keys are candidate keys that are not selected as the primary key but still uniquely identify records.
•Example: In a Customer
table, Email
could be an alternate key if CustomerID
is the primary key.
Steps to Determine Keys
-
Identify Candidate Keys:
- Look for attributes or combinations of attributes that can uniquely identify records.
- Example: In a
Student
table,StudentID
andSocialSecurityNumber
might both be candidate keys.
-
Select the Primary Key:
- Choose the most appropriate candidate key based on:
-
Stability: The key should not change (e.g.,
StudentID
is better thanEmail
). - Simplicity: Prefer single-attribute keys over composite keys.
- Usage: Consider how the key will be used in queries and relationships.
-
Stability: The key should not change (e.g.,
- Example: Select
StudentID
as the primary key.
- Choose the most appropriate candidate key based on:
-
Designate Alternate Keys:
- Identify other candidate keys that can serve as unique identifiers if needed.
- Example: Designate
SocialSecurityNumber
as an alternate key.
-
Implement Constraints:
- Apply unique constraints to alternate keys to ensure data integrity.
- Example: Ensure no two students have the same
SocialSecurityNumber
.
Check model for redundancy.
Ensure no unnecessary duplication of data exists in the model.
Validate the Conceptual Model Against User Transactions
Validation: Ensure that the model supports all required user transactions and outputs.
Review the Conceptual Data Model with User
Review: Present the model to users for feedback and make necessary adjustments.
1.2 Identify an Appropriate DBMS
Evaluate Database Models
Database Models: Consider relational, NoSQL, object-oriented, etc., based on the application requirements.
Choose a DBMS Based on
Choose a DBMS Based on:
-Pricing: Consider the cost of the DBMS, including licensing, maintenance, and support.
-Existing Database Migration: Evaluate the ease of migrating existing data to the new DBMS.
-Functionality and Business Needs: Ensure the DBMS meets the functional requirements of the business.
-Scalability: Consider the ability of the DBMS to handle growth in data volume and user load.
1.3 Normalize Database Relations
Define Database Normalization
Normalization: The process of organizing data to reduce redundancy and improve data integrity.
Outline the objectives of database normalization.
Eliminate duplicate data, ensure data dependencies make sense, and simplify data maintenance.
Outline the levels of normalization (up to 5NF):
-
1NF: Eliminate duplicate columns and ensure atomicity.
- 2NF: Remove partial dependencies.
- 3NF: Remove transitive dependencies.
- BCNF: Strengthen 3NF to handle overlapping candidate keys.
- 4NF: Eliminate multi-valued dependencies.
- 5NF: Handle join dependencies.
Produce Logical Design Model
-
Identify and create relations for strong and weak entities.
- Strong entities have independent existence (e.g., Customer), while weak entities depend on others (e.g., Order depends on Customer).
-
Map multivalued attributes.
- Convert attributes with multiple values (e.g., Phone numbers) into separate tables.
-
Map binary relations:
- One-to-one: A customer has one unique profile.
- One-to-many: A customer can place many orders.
- Many-to-many: Many customers can buy many products.
-
Map ternary relations.
- Handle relationships involving three entities (e.g., Supplier supplies Product to Customer).
-
Map supertype relationships.
- Represent inheritance (e.g., Employee as a supertype with subtypes like Manager and Staff).
-
Validate integrity constraints:
- Domain constraints: Ensure data falls within valid ranges (e.g., Age > 0).
- Entity integrity constraints: Ensure primary keys are unique and not null.
- Referential integrity constraints: Ensure foreign keys reference valid primary keys.
-
Create a data dictionary.
- Document all entities, attributes, relationships, and constraints for reference