Logical Database Design
Logical Database Design
The progression through normal forms in data normalization is a systematic approach to ensuring a well-structured database. The process starts with First Normal Form (1NF), progresses to Second Normal Form (2NF), and reaches Third Normal Form (3NF). A database in 3NF is completely free of data redundancy, with each normal form building on the previous one . This progression ensures that the tables are structured to eliminate duplicates and maintain data integrity .
SQL offers comprehensive functionalities for managing data, which makes it the preferred language for relational databases. It supports powerful querying capabilities with the SELECT statement, enabling complex data retrieval . SQL also allows data manipulation operations through its DML, providing CRUD capabilities (CREATE, READ, UPDATE, DELETE). Additionally, SQL's DDL handles schema and structure definitions, making it an all-encompassing language for database management .
Data normalization organizes attributes into tables such that redundancy among non-key attributes is eliminated . It is a decomposition process where attributes are subdivided into groups that form the basis of the tables, thereby ensuring that each piece of information is stored only once, reducing data redundancy .
Understanding functional dependencies is crucial in data normalization because they define how attributes relate to each other within a database structure. Functional dependencies are used to determine the composition of tables by identifying which attributes depend on others for their values. This ensures that tables are organized to minimize redundancy and maintain data integrity, which are central goals of normalization . Without knowing these dependencies, normalization cannot be properly applied .
Data normalization is often not the starting point in scenarios where entity-relationship models are used. With the popularity of entity-relationship diagramming tools, normalization is more often used as a check on database structures produced from these diagrams rather than a full-scale design technique . This approach leverages E-R diagrams to visually map out database structures before applying normalization to refine the design .
Foreign keys in logical database design are used to support relationships between entities. They are placed in tables to reference primary keys of other tables, thereby creating links between different tables in the database . This enforces referential integrity and ensures that the relational database can correctly represent the associations between different data entities .
Microsoft Office Access differs from client-server RDBMS like Microsoft SQL Server in that it is a file server-based database system, meaning all database tables, queries, and other objects are stored in a single file . It lacks features such as triggers, stored procedures, and transaction logging, which are common in client-server systems. This makes Access more suited for smaller applications and personal use where ease of transport and simplicity are valued .
A SQL SELECT statement primarily consists of SELECT, FROM, WHERE, GROUP BY, HAVING, and ORDER BY clauses. The SELECT clause specifies the columns to be retrieved, while the FROM clause indicates the table(s) from which data is sourced . The WHERE clause filters records based on defined criteria, and GROUP BY groups rows with common values for aggregation purposes . The HAVING clause further filters grouped data, and ORDER BY sorts the results . Together, these components allow complex data retrieval operations .
Logical database design is the process of deciding how to arrange the attributes of entities in a business environment into database structures, such as the tables of a relational database . The primary goals are to create well-structured tables that reflect the company's business environment, store data about the company's entities without redundancy, and support all relationships among the entities through the proper placement of foreign keys .
DDL and DML are subsets of SQL used for different purposes in database management. DDL focuses on defining and altering database structures using statements like CREATE, ALTER, and DROP . It manages the schema of the database. In contrast, DML deals with data manipulation within these structures, using commands like SELECT, INSERT, UPDATE, and DELETE to retrieve or modify data . Together, they manage both the structure and content of a database .