Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 1: Introduction to Databases Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • List database types (e.g., flat file, relational), and identify their uses and architectures • Describe the types of database management system (DBMS), and explain the benefits and limitations of each DBMS type • Analyze and select appropriate database designs, and identify the solution that addresses the application needs Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved What Is a Database? • File-based databases – Flat-file databases • The evolution of databases Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Relational Databases and DBMSs • • • • • Relational databases Structured Query Language Database administrator Advantages and disadvantages of DBMSs Choosing the correct database type Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved The Origins of Relational Databases • Codd first proposed the relational data model in 1970 • System R • Development of SQL • INGRES • IBM UK Scientific Center Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary List database types (e.g., flat file, relational), and identify their uses and architectures Describe the types of database management system (DBMS), and explain the benefits and limitations of each DBMS type Analyze and select appropriate database designs, and identify the solution that addresses the application needs Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 2: Relational Database Fundamentals Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • Define common database architectures (e.g., single, multi-tier) • Describe the function of Structured Query Language (SQL), including language subsets • Describe the function of Data Definition Language (DDL) • Describe the function of Data Manipulation Language (DML) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Describe the function of Data Control Language (DCL) • Define essential database concepts and terms, including relation, relation name, table, row, column, value, relational algebra, data modeling, data relationship • Explain the concepts of attribute, degree, tuple and cardinality Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Define entities, including strong entities, weak entities • List characteristics of relations (e.g., column characteristics, row characteristics) • Describe table types (e.g., base tables, virtual tables) • Distinguish between primary and foreign keys, including null value, composite key • Explain data models in relational databases Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Describe common database relationships (e.g., one to one, one to many, many to many) and identify the notation for such relationships (e.g., 1:n) • Define relational integrity concepts, including domain constraints, entity and referential integrity views • Explain the structure and purpose of a data dictionary Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Multitier Database Architecture • Two-tier client-server architecture – Fat client • Three-tier client-server architecture – Thin client • n-tier architecture Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Relational Model Terminology • Relational data structure • Rows (tuples) • Columns (attributes) • • • • Domains Degrees Cardinality Normalization Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Using Tables to Represent Data • • • • • Entities Characteristics of relations Types of tables Primary keys Foreign keys Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Data Models • Components – Structural information – Manipulative information – Integrity information Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Entities and Data Relationships • Entity-relationship (ER) modeling • Strong entities • Weak entities Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Relational Integrity • • • • Domain constraints Entity integrity Referential integrity Views Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Database Languages • • • • Data Definition Language Data Manipulation Language Data Control Language Data dictionaries Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary Define common database architectures (e.g., single, multi-tier) Describe the function of Structured Query Language (SQL), including language subsets Describe the function of Data Definition Language (DDL) Describe the function of Data Manipulation Language (DML) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Describe the function of Data Control Language (DCL) Define essential database concepts and terms, including relation, relation name, table, row, column, value, relational algebra, data modeling, data relationship Explain the concepts of attribute, degree, tuple and cardinality Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Define entities, including strong entities, weak entities List characteristics of relations (e.g., column characteristics, row characteristics) Describe table types (e.g., base tables, virtual tables) Distinguish between primary and foreign keys, including null value, composite key Explain data models in relational databases Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Describe common database relationships (e.g., one to one, one to many, many to many) and identify the notation for such relationships (e.g., 1:n) Define relational integrity concepts, including domain constraints, entity and referential integrity views Explain the structure and purpose of a data dictionary Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 3: Database Planning Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • Describe the elements of a database planning strategy (e.g., defining the scope of a database application) • List the necessary steps for creating a database requirements document, including conducting interviews, noting project constraints, identifying the precise duties of the database, creating a database design document Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Explain the importance of data modeling and entity relationship diagrams during the planning stage (e.g., define the concept of an entityrelationship [ER] diagram) • Create a database prototype • Describe the purpose of database application testing, including white-box testing, black-box testing Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • List the criteria for selecting a database management system and an application interface • Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Database Design Life Cycle • Create a database strategy • Define database application scope • Create a database requirements document • Design the database • Select a DBMS • Design the database application • Create database prototypes • Test the database application • Implement the database application • Convert legacy data • Maintain the database Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Database Requirements Document • Conducting interviews • Requirements document information Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Selecting a DBMS • Selection criteria – Data definition functionality – Physical criteria – Access criteria – Transactions – Utilities – Development tools – Miscellaneous features Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Selecting an Application Interface GUI considerations – Descriptive page titles – Clear instructions – Consistent grouping of input fields – Logically labeled fields – Consistent color use – Properly sized data entry fields – Logical cursor movement – Error messages – Clearly indicated optional fields – Completion message Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary Describe the elements of a database planning strategy (e.g., defining the scope of a database application) List the necessary steps for creating a database requirements document, including conducting interviews, noting project constraints, identifying the precise duties of the database, creating a database design document Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Explain the importance of data modeling and entity relationship diagrams during the planning stage (e.g., define the concept of an entityrelationship [ER] diagram) Create a database prototype Describe the purpose of database application testing, including white-box testing, black-box testing Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) List the criteria for selecting a database management system and an application interface Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 4: Overview of Database Design Methodology Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • List the steps of the conceptual design phase (e.g., identifying entities, attribute domains, relationships) • Describe how to identify entities • List ways to identify attributes and attribute domains for entities Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • List ways to identify candidate and primary keys for entities • Identify and determine data relationships • Create an entity-relationship (ER) diagram • Analyze an entity-relationship (ER) diagram or model to determine relation types Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Define and describe domains • Explain the results of poor database design, and describe insertion, deletion and update anomalies in databases • Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Effects of Poor Database Design • Insertion anomalies • Deletion anomalies • Update anomalies Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Database Design Phases • Conceptual phase • Logical phase • Physical phase Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Conceptual Database Design • Identifying entities • Identifying attributes and attribute domains for entities • Identifying relationships • Identifying candidate and primary keys for entities • Creating an entity-relationship (ER) diagram • Reviewing the ER model by the user and design team Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Entity-Relationship Models • • • • Creating ER models Defining domains Common SQL data types Determining data relationships – Recursive relationships Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary List the steps of the conceptual design phase (e.g., identifying entities, attribute domains, relationships) Describe how to identify entities List ways to identify attributes and attribute domains for entities Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) List ways to identify candidate and primary keys for entities Identify and determine data relationships Create an entity-relationship (ER) diagram Analyze an entity-relationship (ER) diagram or model to determine relation types Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Define and describe domains Explain the results of poor database design, and describe insertion, deletion and update anomalies in databases Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 5: Normalization Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • Distinguish between specific normal forms, including first normal form (1NF), second normal form (2NF), third normal form (3NF), Boyce-Codd normal form (BCNF) • Describe the normalization process • Define and explain determinant, decomposition and functional dependency Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved What Is Normalization? • Normal forms • First normal form – First normal form anomalies • Second normal form – Second normal form anomalies • Third normal form • Boyce-Codd normal form Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Related Concepts • • • • • Decomposition Atomic value Partial functional dependency Transitive dependency Denormalization Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary Distinguish between specific normal forms, including first normal form (1NF), second normal form (2NF), third normal form (3NF), Boyce-Codd normal form (BCNF) Describe the normalization process Define and explain determinant, decomposition and functional dependency Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 6: Logical Database Design Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • Explain the structure and purpose of a data dictionary • Identify logical database design issues • List the steps of the logical database design phase (e.g., creating a raw data model; identifying and documenting entities, attributes, relationships, domains, and candidate and primary keys) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Identify the cardinality of data relationships • Identify and resolve inexpedient data relationships • Create an integrated logical data model from a conceptual data model • Use Data Definition Language (DDL) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Validate a logical data model against user operations and system requirements • Define integrity constraints (e.g., necessary data, domain constraints, entity integrity, referential integrity) • Create corporate and enterprise data models based on user views of data Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Validate the enterprise data model • Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Logical Database Design • Logical data models – One-to-one – One-to-many – Many-to-many Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Creating a Logical Data Model Logical Logical datadata model model creation creation Normalization Normalization Data model refinement Data model refinement Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Using a Database Definition Language • Data dictionaries • Validating the logical data model Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Defining Integrity Constraints • • • • • Necessary data Domain constraints Entity integrity Referential integrity Enterprise constraints Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Creating an Enterprise Data Model • User views • Normalization • Validating data operations Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary Explain the structure and purpose of a data dictionary Identify logical database design issues List the steps of the logical database design phase (e.g., creating a raw data model; identifying and documenting entities, attributes, relationships, domains, and candidate and primary keys) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Identify the cardinality of data relationships Identify and resolve inexpedient data relationships Create an integrated logical data model from a conceptual data model Use Data Definition Language (DDL) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Validate a logical data model against user operations and system requirements Define integrity constraints (e.g., necessary data, domain constraints, entity integrity, referential integrity) Create corporate and enterprise data models based on user views of data Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Validate the enterprise data model Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 7: Physical Database Design Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • List the elements of physical database design • Determine physical database design issues • Describe how to create base relations for a target database management system (DBMS) using Data Definition Language (DDL) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Identify and create enterprise constraints for a target DBMS • Define secondary indexes and determine when to use them • Create a base relation • Identify referential constraints Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Explain denormalization and describe when it is necessary • Create user views (e.g., the CREATE VIEW SQL statement) • Design database access rules Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Use appropriate commands to create, insert and retrieve data from a database table, including the SELECT, CREATE TABLE and CREATE VIEW statements Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Physical Database Design • Creating base relations for a target DBMS • Data Definition Language Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Creating Enterprise Constraints • Determining referential constraints Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Using Secondary Indexes • A secondary index is a mechanism that creates an additional key for a relation Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Denormalization • The process of reuniting relations that were split during the normalization process to improve performance Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Creating User Views • Determine the appropriate data to be included with each particular view Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Designing Database Access Rules • Identifiers • Privileges – SELECT – UPDATE – DELETE Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary List the elements of physical database design Determine physical database design issues Describe how to create base relations for a target database management system (DBMS) using Data Definition Language (DDL) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Identify and create enterprise constraints for a target DBMS Define secondary indexes and determine when to use them Create a base relation Identify referential constraints Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Explain denormalization and describe when it is necessary Create user views (e.g., the CREATE VIEW SQL statement) Design database access rules Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Use appropriate commands to create, insert and retrieve data from a database table, including the SELECT, CREATE TABLE and CREATE VIEW statements Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 8: Structured Query Language Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • Perform data manipulation • Describe basic SQL syntax • List data types used in SQL, including SMALLINT, DECIMAL (p, q), CHAR(n) and TIMESTAMP • Define the term schema in relation to databases • Create a schema using the CREATE SCHEMA statement Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Drop schemas from a database using the DROP SCHEMA statement • Use appropriate commands to create, insert and retrieve data from a database table, including using the SELECT, CREATE TABLE and CREATE VIEW statements • Use the INSERT command appropriately Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Use appropriate UPDATE and DELETE statements to update or delete information from a database, including working with tuples • Use the DISTINCT keyword • Compose predicates and other statements using the WHERE clause Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Identify the use and structure of Boolean operators • Describe SQL special operators and ORDER BY clauses (e.g., the IN, BETWEEN and LIKE operators) • Deploy the ORDER BY clause to order output by column or group of columns Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Retrieve data from relations using the SELECT statement • Create statements using the GRANT keyword to control user access to relations • Use the REVOKE keyword to limit access Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved SQL Basics • Subsets of SQL • SQL features • Data types Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Data Definition Language • Creating a schema • Altering and dropping relations and views Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Data Manipulation Language • • • • • • Inserting values into relations Deleting records from relations Updating values in relations Retrieving data from relations Aliases SQL special operators and ORDER BY clauses Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Data Control Language • Granting privileges • Revoking privileges Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary Perform data manipulation Describe basic SQL syntax List data types used in SQL, including SMALLINT, DECIMAL (p, q), CHAR9n) and TIMESTAMP Define the term schema in relation to databases Create a schema using the CREATE SCHEMA statement Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Drop schemas from a database using the DROP SCHEMA statement Use appropriate commands to create, insert and retrieve data from a database table, including using the SELECT, CREATE TABLE and CREATE VIEW statements Use the INSERT command appropriately Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Use appropriate UPDATE and DELETE statements to update or delete information from a database, including working with tuples Use the DISTINCT keyword Compose predicates and other statements using the WHERE clause Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Identify the use and structure of Boolean operators Describe SQL special operators and ORDER BY clauses (e.g., the IN, BETWEEN and LIKE operators) Deploy the ORDER BY clause to order output by column or group of columns Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Retrieve data from relations using the SELECT statement Create statements using the GRANT keyword to control user access to relations Use the REVOKE keyword to limit access Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 9: Relational Algebra Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • Describe a selection operation • Create a projection operation • Explain and use a Cartesian product operation • Create unions • Define a set difference operation Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • • • • • Describe an intersection operation Create a theta-join Use a natural join Create an equi-join Create an outer join Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Defining Relational Algebra • Selection • Projection • Cartesian product • • • • Union Difference Intersection Joins Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary Describe a selection operation Create a projection operation Explain and use a Cartesian product operation Create unions Define a set difference operation Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Describe an intersection operation Create a theta-join Use a natural join Create an equi-join Create an outer join Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Lesson 10: Transactions and Database Security Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives • Define the concept of a transaction, including use of the INSERT, DELETE and UPDATE operations • Identify the two results of a transaction (commit and rollback) • Describe the four desirable "ACID" properties (atomicity, consistency, isolation, durability) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Define serializability in relation to a DBMS • List concurrency control methods, including locking and timestamps • Describe the steps involved in optimistic concurrency control (e.g., reading, validation, writing), including knowing when and when not to use optimistic concurrency control Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • Identify issues that can occur if concurrency control is not enacted property (e.g., dirty reads, lost and uncommitted updates, unrepeatable query results) • Identify issues and determine the scope of database security (e.g., theft, privacy, integrity control, availability) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Objectives (cont’d) • List typical security threats to databases • Describe database countermeasure and protection techniques (e.g., encryption, ways to create views) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Transactions • Commit • Rollback • ACID properties – Atomicity – Consistency – Isolation – Durability Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Concurrency Control • • • • • Lost updates Uncommitted updates Unrepeatable query results Serializability Concurrency control methods – Locking – Timestamps • Optimistic concurrency control Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Database Security • The scope of database security • Types of security threats • Types of protection techniques Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary Define the concept of a transaction, including use of the INSERT, DELETE and UPDATE operations Identify the two results of a transaction (commit and rollback) Describe the four desirable "ACID" properties (atomicity, consistency, isolation, durability) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Define serializability in relation to a DBMS List concurrency control methods, including locking and timestamps Describe the steps involved in optimistic concurrency control (e.g., reading, validation, writing), including knowing when and when not to use optimistic concurrency control Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) Identify issues that can occur if concurrency control is not enacted property (e.g., dirty reads, lost and uncommitted updates, unrepeatable query results) Identify issues and determine the scope of database security (e.g., theft, privacy, integrity control, availability) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Summary (cont’d) List typical security threats to databases Describe database countermeasure and protection techniques (e.g., encryption, ways to create views) Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Database Design Specialist Introduction to Databases Relational Database Fundamentals Database Planning Overview of Database Design Methodology Normalization Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Database Design Specialist Logical Database Design Physical Database Design Structured Query Language Relational Algebra Transactions and Database Security Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved Database Design Specialist • For information about the CIW Database Design Specialist exam and certification, visit www.CIWcertified.com Database Design Specialist Copyright © 2011 Certification Partners, LLC -- All Rights Reserved