The personnel database contains information about employees (EMPLOYEE), their expertise (EXPERTISE), prior jobs (PRIOR_JOB), current projects (ASSIGNMENT), and projects (PROJECT). The tables are related to each other through employee numbers (E_NUMBER) which act as primary and foreign keys that enforce referential integrity constraints.
XML Quick Reference (from mulberrytech.com)FrescatiStory
This document provides a summary of key XML elements and attributes including:
- Element declarations which define elements and their content models.
- Attribute declarations which define attributes for elements.
- Notation declarations which define the format of unparsed entities.
- Parameter entity declarations which define entities for reuse within the DTD.
Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...Takashi Iba
Takashi Iba's Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actions" at 19th International Conference on Pattern Languages of Programs (PLoP2012).
Here is a high level DFD of the payroll process:
[DFD]
The payroll process involves:
- Employee time sheets being collected with employee number and hours worked
- The time sheets data being validated and any errors reported
- Valid data being used to calculate pay, tax, etc for each employee
- Payroll reports like payslips and paychecks being printed
- Summary reports also being provided to accounting
Database design involves three phases: conceptual design, logical design, and physical design. The conceptual design focuses on data requirements and results. The logical design describes the structure of the database. The physical design describes the implementation including programs, tables, and catalogs. Conceptual models represent data at a high level of abstraction while logical models can be processed by computers. Entity-relationship diagrams are commonly used for conceptual modeling and show entities, relationships, attributes, and other aspects.
Takashi Iba's Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actions" at 19th International Conference on Pattern Languages of Programs (PLoP2012), Tucson Arizona, USA, Oct, 2012. Unabbreviated Edition.
This document discusses primary keys, foreign keys, and how to define them in a relational database model. It explains that primary keys uniquely identify entities, while foreign keys complete relationships between entities by referencing the primary key of a parent entity. The document provides guidelines for identifying primary keys, validating keys and relationships, and establishing foreign keys by migrating primary keys from parent to child entities.
This document discusses database normalization and anomalies. It defines three types of anomalies: insert, delete, and update anomalies. Examples are provided for each. The document then explains the three normal forms - 1st, 2nd, and 3rd normal form. The requirements for each normal form are defined and examples are used to illustrate how normalization reduces anomalies by eliminating redundant data and non-key dependencies from tables.
Database constraints include primary key, unique, foreign key, and check constraints. They restrict the contents and operations of database tables to maintain data integrity, such as ensuring rows have valid primary keys, dependent rows have valid foreign keys, and column values are within defined ranges. Constraints are defined using SQL statements when creating or altering tables and are enforced by the database for all data modifications.
XML Quick Reference (from mulberrytech.com)FrescatiStory
This document provides a summary of key XML elements and attributes including:
- Element declarations which define elements and their content models.
- Attribute declarations which define attributes for elements.
- Notation declarations which define the format of unparsed entities.
- Parameter entity declarations which define entities for reuse within the DTD.
Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...Takashi Iba
Takashi Iba's Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actions" at 19th International Conference on Pattern Languages of Programs (PLoP2012).
Here is a high level DFD of the payroll process:
[DFD]
The payroll process involves:
- Employee time sheets being collected with employee number and hours worked
- The time sheets data being validated and any errors reported
- Valid data being used to calculate pay, tax, etc for each employee
- Payroll reports like payslips and paychecks being printed
- Summary reports also being provided to accounting
Database design involves three phases: conceptual design, logical design, and physical design. The conceptual design focuses on data requirements and results. The logical design describes the structure of the database. The physical design describes the implementation including programs, tables, and catalogs. Conceptual models represent data at a high level of abstraction while logical models can be processed by computers. Entity-relationship diagrams are commonly used for conceptual modeling and show entities, relationships, attributes, and other aspects.
Takashi Iba's Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actions" at 19th International Conference on Pattern Languages of Programs (PLoP2012), Tucson Arizona, USA, Oct, 2012. Unabbreviated Edition.
This document discusses primary keys, foreign keys, and how to define them in a relational database model. It explains that primary keys uniquely identify entities, while foreign keys complete relationships between entities by referencing the primary key of a parent entity. The document provides guidelines for identifying primary keys, validating keys and relationships, and establishing foreign keys by migrating primary keys from parent to child entities.
This document discusses database normalization and anomalies. It defines three types of anomalies: insert, delete, and update anomalies. Examples are provided for each. The document then explains the three normal forms - 1st, 2nd, and 3rd normal form. The requirements for each normal form are defined and examples are used to illustrate how normalization reduces anomalies by eliminating redundant data and non-key dependencies from tables.
Database constraints include primary key, unique, foreign key, and check constraints. They restrict the contents and operations of database tables to maintain data integrity, such as ensuring rows have valid primary keys, dependent rows have valid foreign keys, and column values are within defined ranges. Constraints are defined using SQL statements when creating or altering tables and are enforced by the database for all data modifications.
This document discusses Florence Nightingale's contributions to modern nursing and statistics. It describes how Nightingale used graphical methods like polar area diagrams to visually illustrate statistics about causes of soldier deaths in the Crimea. This convinced authorities to implement her proposed hospital reforms, which reduced mortality rates. The document also discusses Nightingale's role in establishing modern nursing practices and her leadership in developing applied statistics as a Fellow of the Royal Statistical Society.
Data models are used to describe data, relationships, semantics, and constraints. They help understand the meaning of data and facilitate communication about requirements. Entity relationship modeling represents entities as rectangles, attributes as ellipses, and relationships as diamonds. Entities can be weak or strong, with weak entities dependent on other entities. Relationships have cardinalities like one-to-one, one-to-many, and many-to-many. Keys uniquely identify entities and relationships. Weak entities lack their own primary key and are dependent on a strong entity.
The document discusses data redundancy and update anomalies in relational database design. It presents three relations - Staff, Branch, and Staffbranch - to illustrate these concepts. The Staffbranch relation contains redundant data like branch addresses repeated for each staff member. This can cause problems like insertion, deletion, and modification anomalies. Normalizing the data by splitting it into separate relations, like having separate Staff and Branch relations joined by a foreign key, helps avoid these issues.
The document discusses entity relationship (ER) modeling and database design. It covers collecting requirements, conceptual design, logical design, and physical design. Key aspects of ER modeling are explained, including entities, attributes, relationships, entity types, keys, and conceptual design. The conceptual design shown models entities such as company, department, employee, and their relationships.
Fundamentals of database system - Data Modeling Using the Entity-Relationshi...Mustafa Kamel Mohammadi
In this chapter you will learn
Relational data model concepts
What is entity?
What is attribute and it’s types
What is relationship?
What is an Entity-Relationship data model?
Relational data model constraints
Characteristics of relation
The document discusses concurrency control techniques for databases, including lock-based protocols, timestamp-based protocols, and validation-based protocols. It focuses on lock-based protocols, describing how locks work, the two-phase locking protocol, deadlocks, and ways to handle them such as deadlock prevention and detection. It also discusses topics like multiple granularity locking, intention locks, and graph-based protocols.
A database transaction must possess four key properties known as ACID: Atomicity, Consistency, Isolation, and Durability. Atomicity means that either all tasks of a transaction are performed or none are. Consistency ensures transactions produce valid, rule-abiding data. Isolation means other operations cannot access intermediate transaction data. Durability guarantees completed transactions are recorded to durable storage. These ACID properties are crucial for maintaining database integrity and performance during concurrent transactions.
The document discusses relational algebra, which is a formal language used to query and manipulate relations in a relational database. It describes the basic operations in relational algebra like selection, projection, join, union, set difference, etc. and provides examples of how to write queries using each of these operations.
The document provides an introduction to database management systems (DBMS). It defines what a database and DBMS are, and explains that a DBMS allows users to define, create, and manipulate databases for applications. It also discusses some key components of a DBMS environment, including software, hardware, data, procedures, and database access languages like SQL. The document compares traditional file-based data storage with DBMS approaches and outlines some benefits DBMS provide like reduced redundancy, improved data integrity and sharing, and increased accessibility.
Previous question papers of Database Management System (DBMS) By SHABEEBShabeeb Shabi
The document discusses different data models used to design databases, including hierarchical, network, and relational models. It also covers SQL constraints like NOT NULL, UNIQUE, PRIMARY KEY, DEFAULT and CHECK. Additionally, it defines the differences between a database schema and instance, advantages of views, different types of keys, and the purpose and uses of normalization, GROUP BY, and HAVING clauses.
Dbms ii mca-ch5-ch6-relational algebra-2013Prosanta Ghosh
The document discusses relational algebra, which defines a set of operations for the relational model. The relational algebra operations can be divided into two groups: set operations from mathematical set theory including UNION, INTERSECTION, and SET DIFFERENCE; and operations developed specifically for relational databases including SELECT, PROJECT, and JOIN. The six basic relational algebra operators are SELECT, PROJECT, UNION, INTERSECTION, SET DIFFERENCE, and CARTESIAN PRODUCT. RELATIONAL expressions allow sequences of these operations to be combined to retrieve and manipulate data from relations.
The document provides an overview of database management systems, including what they are, their benefits, examples, and types of database models. It discusses that a database is a structured collection of records stored in a computer system, and a database management system (DBMS) is software used to organize, analyze, and modify the stored data. Benefits of DBMS include increased productivity, consolidated data, and the ability to easily change information systems. Examples provided are Oracle, Microsoft Access, and SQL Server. Types of database models described are distributed, network, object-oriented, hierarchical, and relational. The document also briefly mentions data security.
The document provides an overview of example databases and database concepts. It discusses example databases from universities, banks, airlines, genetics research, and online bookstores. It also defines key database terminology like database, database management system, application programs, and client/server architecture. The basic data models and how to query, insert, update and retrieve data from databases is also summarized.
The document provides an overview of entity-relationship (ER) modeling concepts used in database design. It defines key terms like entities, attributes, relationships, and cardinalities. It explains how ER diagrams visually represent these concepts using symbols like rectangles, diamonds, and lines. The document also discusses entity types, relationship degrees, key attributes, weak entities, and how to model one-to-one, one-to-many, many-to-one, and many-to-many relationships. Overall, the document serves as a guide to basic ER modeling principles for conceptual database design.
Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...Beat Signer
The document discusses Edgar Codd's relational model for data management. It describes how Codd developed the relational model while working at IBM and published a seminal paper on it in 1970. It also discusses how IBM initially did not implement the model, but later developed prototypes like System R that helped drive commercial relational database management systems. The document provides an introduction to key concepts of the relational model like relational algebra operations, relations, attributes, keys and database schemas.
The document discusses the entity-relationship (E-R) data model. It defines key concepts in E-R modeling including entities, attributes, entity sets, relationships, and relationship sets. It describes different types of attributes and relationships. It also explains how to represent E-R diagrams visually using symbols like rectangles, diamonds, and lines to depict entities, relationships, keys, and cardinalities. Primary keys, foreign keys, and weak entities are also covered.
The document provides an introduction to database management systems (DBMS) and database models. It defines key terms like data, database, DBMS, file system vs DBMS. It describes the evolution of DBMS from 1960 onwards and different database models like hierarchical, network and relational models. It also discusses the roles of different people who work with databases like database designers, administrators, application programmers and end users.
This document provides an overview of key database concepts, including:
- Types of databases and database management systems (DBMS) functions
- Data models like relational, hierarchical, and object-oriented
- The three-schema architecture with conceptual, internal, and external schemas
- Languages used to define and manipulate database structures and data
- Centralized and client-server database system architectures
This document discusses different types of data models, including hierarchical, network, relational, and object-oriented models. It focuses on explaining the relational model. The relational model organizes data into tables with rows and columns and handles relationships using keys. It allows for simple and symmetric data retrieval and integrity through mechanisms like normalization. The relational model is well-suited for the database assignment scenario because it supports linking data across multiple tables using primary and foreign keys, and provides query capabilities through SQL.
The document discusses database management systems and transaction concepts. It provides examples to illustrate transaction properties like atomicity, consistency, isolation, and durability. It defines transaction states, discusses implementation of atomicity and durability using shadow databases. It also covers topics like serializability, recoverability, concurrency control protocols, and different levels of consistency.
This document provides an overview of database design and relational database concepts. It defines key terms like data, relations, attributes, domains, tuples, functional dependencies, and network diagrams. It explains that a relational database stores data in related tables and uses primary and foreign keys to link tables based on common attributes. Functional dependency diagrams can represent relationships in a database design and be used to normalize relations into tables without redundant data.
This document discusses key concepts in relational database design including:
- Relations (tables), attributes (columns), tuples (rows), domains, keys, and relationships between relations represented by foreign and primary keys.
- Referential integrity constraints require values in one relation's column to appear in another's column.
- Network diagrams can represent relationships between relations using arrows from foreign to primary keys.
This document discusses Florence Nightingale's contributions to modern nursing and statistics. It describes how Nightingale used graphical methods like polar area diagrams to visually illustrate statistics about causes of soldier deaths in the Crimea. This convinced authorities to implement her proposed hospital reforms, which reduced mortality rates. The document also discusses Nightingale's role in establishing modern nursing practices and her leadership in developing applied statistics as a Fellow of the Royal Statistical Society.
Data models are used to describe data, relationships, semantics, and constraints. They help understand the meaning of data and facilitate communication about requirements. Entity relationship modeling represents entities as rectangles, attributes as ellipses, and relationships as diamonds. Entities can be weak or strong, with weak entities dependent on other entities. Relationships have cardinalities like one-to-one, one-to-many, and many-to-many. Keys uniquely identify entities and relationships. Weak entities lack their own primary key and are dependent on a strong entity.
The document discusses data redundancy and update anomalies in relational database design. It presents three relations - Staff, Branch, and Staffbranch - to illustrate these concepts. The Staffbranch relation contains redundant data like branch addresses repeated for each staff member. This can cause problems like insertion, deletion, and modification anomalies. Normalizing the data by splitting it into separate relations, like having separate Staff and Branch relations joined by a foreign key, helps avoid these issues.
The document discusses entity relationship (ER) modeling and database design. It covers collecting requirements, conceptual design, logical design, and physical design. Key aspects of ER modeling are explained, including entities, attributes, relationships, entity types, keys, and conceptual design. The conceptual design shown models entities such as company, department, employee, and their relationships.
Fundamentals of database system - Data Modeling Using the Entity-Relationshi...Mustafa Kamel Mohammadi
In this chapter you will learn
Relational data model concepts
What is entity?
What is attribute and it’s types
What is relationship?
What is an Entity-Relationship data model?
Relational data model constraints
Characteristics of relation
The document discusses concurrency control techniques for databases, including lock-based protocols, timestamp-based protocols, and validation-based protocols. It focuses on lock-based protocols, describing how locks work, the two-phase locking protocol, deadlocks, and ways to handle them such as deadlock prevention and detection. It also discusses topics like multiple granularity locking, intention locks, and graph-based protocols.
A database transaction must possess four key properties known as ACID: Atomicity, Consistency, Isolation, and Durability. Atomicity means that either all tasks of a transaction are performed or none are. Consistency ensures transactions produce valid, rule-abiding data. Isolation means other operations cannot access intermediate transaction data. Durability guarantees completed transactions are recorded to durable storage. These ACID properties are crucial for maintaining database integrity and performance during concurrent transactions.
The document discusses relational algebra, which is a formal language used to query and manipulate relations in a relational database. It describes the basic operations in relational algebra like selection, projection, join, union, set difference, etc. and provides examples of how to write queries using each of these operations.
The document provides an introduction to database management systems (DBMS). It defines what a database and DBMS are, and explains that a DBMS allows users to define, create, and manipulate databases for applications. It also discusses some key components of a DBMS environment, including software, hardware, data, procedures, and database access languages like SQL. The document compares traditional file-based data storage with DBMS approaches and outlines some benefits DBMS provide like reduced redundancy, improved data integrity and sharing, and increased accessibility.
Previous question papers of Database Management System (DBMS) By SHABEEBShabeeb Shabi
The document discusses different data models used to design databases, including hierarchical, network, and relational models. It also covers SQL constraints like NOT NULL, UNIQUE, PRIMARY KEY, DEFAULT and CHECK. Additionally, it defines the differences between a database schema and instance, advantages of views, different types of keys, and the purpose and uses of normalization, GROUP BY, and HAVING clauses.
Dbms ii mca-ch5-ch6-relational algebra-2013Prosanta Ghosh
The document discusses relational algebra, which defines a set of operations for the relational model. The relational algebra operations can be divided into two groups: set operations from mathematical set theory including UNION, INTERSECTION, and SET DIFFERENCE; and operations developed specifically for relational databases including SELECT, PROJECT, and JOIN. The six basic relational algebra operators are SELECT, PROJECT, UNION, INTERSECTION, SET DIFFERENCE, and CARTESIAN PRODUCT. RELATIONAL expressions allow sequences of these operations to be combined to retrieve and manipulate data from relations.
The document provides an overview of database management systems, including what they are, their benefits, examples, and types of database models. It discusses that a database is a structured collection of records stored in a computer system, and a database management system (DBMS) is software used to organize, analyze, and modify the stored data. Benefits of DBMS include increased productivity, consolidated data, and the ability to easily change information systems. Examples provided are Oracle, Microsoft Access, and SQL Server. Types of database models described are distributed, network, object-oriented, hierarchical, and relational. The document also briefly mentions data security.
The document provides an overview of example databases and database concepts. It discusses example databases from universities, banks, airlines, genetics research, and online bookstores. It also defines key database terminology like database, database management system, application programs, and client/server architecture. The basic data models and how to query, insert, update and retrieve data from databases is also summarized.
The document provides an overview of entity-relationship (ER) modeling concepts used in database design. It defines key terms like entities, attributes, relationships, and cardinalities. It explains how ER diagrams visually represent these concepts using symbols like rectangles, diamonds, and lines. The document also discusses entity types, relationship degrees, key attributes, weak entities, and how to model one-to-one, one-to-many, many-to-one, and many-to-many relationships. Overall, the document serves as a guide to basic ER modeling principles for conceptual database design.
Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...Beat Signer
The document discusses Edgar Codd's relational model for data management. It describes how Codd developed the relational model while working at IBM and published a seminal paper on it in 1970. It also discusses how IBM initially did not implement the model, but later developed prototypes like System R that helped drive commercial relational database management systems. The document provides an introduction to key concepts of the relational model like relational algebra operations, relations, attributes, keys and database schemas.
The document discusses the entity-relationship (E-R) data model. It defines key concepts in E-R modeling including entities, attributes, entity sets, relationships, and relationship sets. It describes different types of attributes and relationships. It also explains how to represent E-R diagrams visually using symbols like rectangles, diamonds, and lines to depict entities, relationships, keys, and cardinalities. Primary keys, foreign keys, and weak entities are also covered.
The document provides an introduction to database management systems (DBMS) and database models. It defines key terms like data, database, DBMS, file system vs DBMS. It describes the evolution of DBMS from 1960 onwards and different database models like hierarchical, network and relational models. It also discusses the roles of different people who work with databases like database designers, administrators, application programmers and end users.
This document provides an overview of key database concepts, including:
- Types of databases and database management systems (DBMS) functions
- Data models like relational, hierarchical, and object-oriented
- The three-schema architecture with conceptual, internal, and external schemas
- Languages used to define and manipulate database structures and data
- Centralized and client-server database system architectures
This document discusses different types of data models, including hierarchical, network, relational, and object-oriented models. It focuses on explaining the relational model. The relational model organizes data into tables with rows and columns and handles relationships using keys. It allows for simple and symmetric data retrieval and integrity through mechanisms like normalization. The relational model is well-suited for the database assignment scenario because it supports linking data across multiple tables using primary and foreign keys, and provides query capabilities through SQL.
The document discusses database management systems and transaction concepts. It provides examples to illustrate transaction properties like atomicity, consistency, isolation, and durability. It defines transaction states, discusses implementation of atomicity and durability using shadow databases. It also covers topics like serializability, recoverability, concurrency control protocols, and different levels of consistency.
This document provides an overview of database design and relational database concepts. It defines key terms like data, relations, attributes, domains, tuples, functional dependencies, and network diagrams. It explains that a relational database stores data in related tables and uses primary and foreign keys to link tables based on common attributes. Functional dependency diagrams can represent relationships in a database design and be used to normalize relations into tables without redundant data.
This document discusses key concepts in relational database design including:
- Relations (tables), attributes (columns), tuples (rows), domains, keys, and relationships between relations represented by foreign and primary keys.
- Referential integrity constraints require values in one relation's column to appear in another's column.
- Network diagrams can represent relationships between relations using arrows from foreign to primary keys.
This chapter discusses structured query language (SQL) and the relational database model. SQL allows users to interact with a relational database management system through commands to retrieve, insert, update, and delete data from tables. These commands include SELECT to query data, INSERT to add new rows, UPDATE to modify rows, and DELETE to remove rows. SQL also provides commands to define and modify the structure of tables using data definition language statements.
This document defines key concepts in the relational model and relational algebra. It describes relational model concepts like attributes, tables, tuples, and relations. It also explains relational integrity constraints, relational database schemas, and operations on relations like selection, projection, join, union, intersection, difference, and cartesian product. Finally, it discusses different types of joins in relational algebra like equijoin, natural join, outer join, and self-join.
The document discusses concepts related to the relational model and relational algebra. It defines key concepts like relations, attributes, tuples, domains, and integrity constraints. It describes operations on relations like select, project, join, union and set operations. It explains how these operations are used to retrieve and manipulate data in relational databases and how insert, delete and update operations must adhere to integrity constraints. It provides examples to illustrate relational algebra operations and how they are applied to relations.
This document provides examples and explanations of various SQL concepts including:
1. It describes the advantages of DBMS such as minimizing redundancy, eliminating redundancy, sharing data securely, improving flexibility, and ensuring data integrity.
2. It explains different types of SQL commands - DDL for defining database schema, DML for manipulating data, and DCL for controlling access. Examples are provided for commands like CREATE, ALTER, DROP, SELECT, INSERT, UPDATE, DELETE, GRANT, REVOKE.
3. It defines joins and explains different types of joins like inner join, outer joins, self join and cartesian joins that are used to combine data from multiple tables.
The document discusses enhanced entity-relationship (EER) modeling concepts used to more completely represent requirements of complex database applications. It introduces subclasses/superclasses to represent subgroupings of entities, with subclasses inheriting attributes and relationships from superclasses. Specialization defines subclasses of a superclass based on distinguishing characteristics, while generalization combines entity sets with common features into a higher-level superclass. Constraints on specialization/generalization include predicate-defined subclasses with membership conditions and attribute-defined specializations based on a defining attribute.
The document discusses enhanced entity-relationship (EER) modeling concepts used to more completely represent requirements of complex database applications. It introduces subclasses/superclasses to represent subgroupings of entities, with subclasses inheriting attributes and relationships from superclasses. Specialization defines subclasses of a superclass based on distinguishing characteristics, while generalization combines entity sets with common features into a higher-level superclass. Constraints on specialization/generalization include predicate-defined subclasses with membership conditions and attribute-defined specializations.
The document discusses concepts related to database normalization including the different normal forms, functional dependencies, keys, and other database design concepts. It provides examples to illustrate normalization steps from 1st normal form to 3rd normal form and different types of functional dependencies including full, partial, and transitive dependencies. The document also covers data definition language, data manipulation language, and database design techniques such as generalization and specialization.
RDBMS. Stands for "Relational Database Management System." An RDBMS is a DBMS designed specifically for relational databases. ... A relational database refers to a database that stores data in a structured format, using rows and columns. This makes it easy to locate and access specific values within the database.
The document discusses key concepts of the relational database model including:
- Relations are represented as tables with rows and columns.
- Entities have attributes with domains and tuples represent rows.
- Relations have keys like candidate keys and foreign keys for integrity.
- Views are virtual relations defined by queries on base relations and allow customized access.
Normalization or Schema Refinement is a technique used to organize data in a database to eliminate redundancy and undesirable characteristics like data anomalies. It involves decomposing tables into smaller tables and linking them using relationships. The goal of normalization is to eliminate data redundancy through various normal forms. Schema refinement involves identifying problems in a database like redundancy and resolving them using techniques like decomposition and normalization.
MODULE 3 -Normalization_1.ppt moduled in designHemaSenthil5
The document discusses schema refinement and normalization in databases. It defines schema refinement as a technique to refine the database schema by avoiding redundancy through decomposition. Normalization is introduced as a systematic process to organize data by eliminating anomalies like insertion, update, and deletion anomalies. The document covers different types of dependencies like functional, transitive, and multivalued dependencies that exist in databases. It also explains different normal forms like 1NF, 2NF and BCNF that are used to normalize relations and eliminate redundancy.
Integrity constraints are an important functionality of a DBMS that enable specification and enforcement of constraints. Examples include keys, foreign keys, and domain constraints. Keys uniquely identify tuples in a relation. Foreign keys require attributes of one relation to refer to keys of another relation. Functional dependencies specify that tuples agreeing on certain attributes must also agree on other attributes. Normalization aims to remove anomalies from relations by decomposing them according to dependencies. Relational algebra and calculus provide languages for querying relational databases. SQL is the most common language, allowing selection, projection, joins, and other operations on relations.
Integrity constraints are an important functionality of a DBMS that enable specification and enforcement of constraints. Examples include keys, foreign keys, and domain constraints. Keys uniquely identify tuples in a relation. Foreign keys require attributes of one relation to refer to keys of another relation. Functional dependencies specify that tuples agreeing on certain attributes must also agree on other attributes. Normalization aims to remove anomalies from relations by decomposing them according to dependencies. Relational algebra and calculus provide languages for querying relational databases. SQL is the most common language, allowing selection, projection, joins, grouping, aggregation, and modification of relations.
An Object Oriented DBMS stores data as objects that use object-oriented concepts like classes, inheritance, and encapsulation. Objects have attributes that can be simple like integers or complex like collections. Classes group similar objects and subclasses inherit attributes and behaviors from superclasses. Objects communicate through messages that invoke methods. The DBMS maps classes and objects to tables and tuples in a relational database, which loses some semantic information about class hierarchies.
This document presents information on the Entity-Relationship (ER) model for conceptual database design. It discusses key concepts of the ER model including entity sets, relationship sets, attributes, constraints, weak entity sets, and superclass/subclass relationships. It provides examples of how these concepts are represented in an ER diagram and outlines good principles for database design.
The chapter discusses database modeling and covers the following key points:
1) It introduces the entity-relationship model and describes how to construct conceptual data models using entities, attributes, relationships and generalization.
2) It describes logical database design and different logical data models including object-oriented, hierarchical and relational models. Key concepts of the object-oriented model such as objects, classes, encapsulation and inheritance are explained.
3) Examples are provided to illustrate modeling common business situations using both entity-relationship and object-oriented diagrams.
The document discusses the Entity-Relationship (ER) model for conceptual database design. It describes the key components of the ER model including entities, attributes, relationships, and keys. It also explains how the ER model maps to a relational schema and database, including the use of tables, rows, columns, primary keys, foreign keys, and integrity constraints. Referential integrity constraints are defined to link tables through foreign key to primary key relationships.
The document discusses using <div> tags and CSS for page layout instead of tables. <div> tags define sections of an HTML document and are easy to style with CSS. CSS properties like float allow elements to be positioned and other elements to flow around them. A common layout uses <div> tags for the logo, navigation, and main content sections.
This document discusses adding Cascading Style Sheets (CSS) to XHTML documents. CSS allows separation of document content from formatting and presentation. Some key points covered include:
- CSS uses selectors to apply styles to HTML elements, and rules to declare properties for these styles.
- Stylesheets can be external CSS files linked via <link> tags, internal <style> sections, or inline within elements.
- External stylesheets allow consistent formatting across pages, while inline styles target individual elements.
- CSS properties control text features like color, font, size and other element properties like links and backgrounds.
- The order of style precedence is inline, internal, external, with inline taking
The document discusses the basics of XHTML including:
- The structure of an XHTML document with the root <html> element containing <head> and <body> elements.
- Common block-level elements like <p>, <h1-6>, and <div> that are used to structure content.
- Character-level elements for text formatting and meaning.
- Validation of XHTML documents and basic syntax rules.
The document discusses creating dynamic search functionality for a website about tours. It provides instructions for modifying three pages - tours.php, tours_details.php, and index.php - to add search forms and recordsets to allow filtering tours by region. It describes adding code to tours_details.php to dynamically change the recordset displayed based on the user's search criteria. The objective is to group data in a select statement, create a search page from a form, and implement search results using conditional logic in the SQL statement.
This document provides instructions for customizing PHP pages to dynamically display and filter data from a database. It describes how to:
1. Pass dynamic data through the URL and add repeating regions to display multiple records.
2. Create a recordset to retrieve data from the database based on information in the URL.
3. Dynamically add images by binding image paths from the database.
4. Modify pages to display detailed records when a particular record is selected from a list.
The document provides an overview of site management and sending/receiving data between web pages using PHP. It discusses dynamic page decisions using PHP or ASP, accessing and interpreting PHP pages using WAMPS locally, creating and saving PHP script files, alternative PHP delimiters, PHP syntax, embedding PHP statements in HTML, using comments in PHP scripts, PHP variables, arithmetic operators, strings, and common string functions.
This document discusses using session variables and hidden fields to insert data into a database table. It covers creating restricted administration pages, using session variables, inserting a record with a new auto-incremented ID value, and storing that ID in a hidden form field. It also discusses creating a Person class to store user data in a session variable array of objects.
The document discusses creating a page called tour_details.php that joins information from two tables and adds recordset paging. It provides instructions on opening a template, making changes to display data from a recordset using bindings in a repeat region showing 5 records at a time, and adding links and a dynamic image. It also discusses adding a recordset navigation bar and fixing the tourprice.php page to include a dynamic dropdown list populated from a query.
The document discusses dynamically populating dropdown menus and inserting dynamic text from a database into a web form. It provides steps to create a recordset to filter tours by ID, populate a dropdown with tour names, and display dynamic tour details on another page using values from the selected dropdown option. The lab section describes how to make the featured tours section on a reservations page dynamically pull from the database rather than using static values.
This document discusses connecting a PHP website to a database in Dreamweaver. It provides instructions on creating a database connection, building a recordset to query the database, and displaying data from the recordset dynamically on web pages. Specific steps include connecting to a sample database called newland_tours.mdb, exploring its tables and relationships, inserting PHP code to connect to the database and create a recordset, and using that recordset to dynamically generate a table of equipment data on a lab page.
The document discusses creating a self-service tour calculator application with server-side validation. It provides instructions for building a tour price calculator form that allows users to select options and see pricing updates. It also covers adding server-side validation to validate the form inputs and return errors if invalid values are entered. The calculator is created using PHP code to process the form data and perform the calculations on the server side.
This document discusses sending email forms and validation in PHP. It provides instructions on setting up a basic contact form with client-side validation to send email from a PHP script. The steps include:
1) Creating a contact form page with fields for email, subject, and message.
2) Adding client-side validation to require values and validate email format.
3) Creating an action page to send the form values via PHP mail() to an email address.
This document provides an introduction to dynamic web pages using PHP. It discusses how PHP pages are accessed and interpreted by web servers and browsers. It also covers PHP syntax, embedding PHP statements in HTML, using variables, operators, and string functions. Key topics include using comments, assigning values, concatenating strings, and the strlen() function. The document contains examples of PHP code for various concepts.
This document provides tutorials on database design and functional dependency diagrams. It includes examples of database schemas for shop, flower, and purchase product databases. It then discusses drawing functional dependency diagrams for given tables and business rules involving relationships between different data elements. Finally, it provides exercises to draw functional dependency diagrams and network diagrams for various forms capturing customer, order, software, fashion, and music business data.
This document provides instructions and examples for using SQL to query and manipulate data from sample tables. It is split into three parts that demonstrate:
1) Writing basic SELECT queries on sample Employee and Department tables
2) Creating Student and Results tables and writing queries to retrieve data from them
3) Creating Department and Employee tables and writing additional queries to retrieve and aggregate data from these tables.
This document provides tutorials on database design and functional dependency diagrams. It includes examples of database schemas for shop, flower, and purchase product databases. It then discusses drawing functional dependency diagrams for different tables and business rules. It provides exercises to draw FDDs for personnel, shoe sales, and various order and business forms.
This document provides examples and explanations to help understand database design and entity-relationship diagrams (ERDs). It discusses which examples represent entities and relationships, and provides situations to model with ERDs involving airlines, publishers, orders, students, cars, books, accounts, drivers, projects, deliveries, subjects, and teachers. The document aims to help identify entities, relationships, and draw ERDs with cardinality constraints to represent different scenarios.
The document discusses entity-relationship modeling and database design. It identifies the key concepts of entities, attributes, relationships, and weak versus strong entities. It then outlines the step-by-step method for developing an entity-relationship model, including searching for strong entities and attributes, identifying relationships, and handling weak entities.
This document outlines the course content and assessments for an Advanced Diploma of Computer Systems Engineering. It includes three subjects: Object Orientation Programming which covers Flex, GUI design, and Actionscript; Web Services covering XML, SOAP, and web technologies; and Server Scripting and Database Access covering database design, PHP, and ASP. It also includes a work performance module to be assessed through simulations.
The document provides tutorials on database design concepts including:
1. Writing database schemas and network diagrams for sample databases including a shop, flower, and purchase databases.
2. Drawing functional dependency diagrams for tables and business rules involving entities like orders, grades, car prices, and more.
3. Identifying entity types and relationships for an airline database about flights, pilots, and crew and a publisher database about authors, books, editors, and printers.
Call8328958814 satta matka Kalyan result satta guessing➑➌➋➑➒➎➑➑➊➍
Satta Matka Kalyan Main Mumbai Fastest Results
Satta Matka ❋ Sattamatka ❋ New Mumbai Ratan Satta Matka ❋ Fast Matka ❋ Milan Market ❋ Kalyan Matka Results ❋ Satta Game ❋ Matka Game ❋ Satta Matka ❋ Kalyan Satta Matka ❋ Mumbai Main ❋ Online Matka Results ❋ Satta Matka Tips ❋ Milan Chart ❋ Satta Matka Boss❋ New Star Day ❋ Satta King ❋ Live Satta Matka Results ❋ Satta Matka Company ❋ Indian Matka ❋ Satta Matka 143❋ Kalyan Night Matka..
Top 10 Free Accounting and Bookkeeping Apps for Small BusinessesYourLegal Accounting
Maintaining a proper record of your money is important for any business whether it is small or large. It helps you stay one step ahead in the financial race and be aware of your earnings and any tax obligations.
However, managing finances without an entire accounting staff can be challenging for small businesses.
Accounting apps can help with that! They resemble your private money manager.
They organize all of your transactions automatically as soon as you link them to your corporate bank account. Additionally, they are compatible with your phone, allowing you to monitor your finances from anywhere. Cool, right?
Thus, we’ll be looking at several fantastic accounting apps in this blog that will help you develop your business and save time.
Brian Fitzsimmons on the Business Strategy and Content Flywheel of Barstool S...Neil Horowitz
On episode 272 of the Digital and Social Media Sports Podcast, Neil chatted with Brian Fitzsimmons, Director of Licensing and Business Development for Barstool Sports.
What follows is a collection of snippets from the podcast. To hear the full interview and more, check out the podcast on all podcast platforms and at www.dsmsports.net
NIMA2024 | De toegevoegde waarde van DEI en ESG in campagnes | Nathalie Lam |...BBPMedia1
Nathalie zal delen hoe DEI en ESG een fundamentele rol kunnen spelen in je merkstrategie en je de juiste aansluiting kan creëren met je doelgroep. Door middel van voorbeelden en simpele handvatten toont ze hoe dit in jouw organisatie toegepast kan worden.
The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...APCO
The Radar reflects input from APCO’s teams located around the world. It distils a host of interconnected events and trends into insights to inform operational and strategic decisions. Issues covered in this edition include:
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Final ank Satta Matka Dpbos Final ank Satta Matta Matka 143 Kalyan Matka Guessing Final Matka Final ank Today Matka 420 Satta Batta Satta 143 Kalyan Chart Main Bazar Chart vip Matka Guessing Dpboss 143 Guessing Kalyan night
[To download this presentation, visit:
https://www.oeconsulting.com.sg/training-presentations]
This PowerPoint compilation offers a comprehensive overview of 20 leading innovation management frameworks and methodologies, selected for their broad applicability across various industries and organizational contexts. These frameworks are valuable resources for a wide range of users, including business professionals, educators, and consultants.
Each framework is presented with visually engaging diagrams and templates, ensuring the content is both informative and appealing. While this compilation is thorough, please note that the slides are intended as supplementary resources and may not be sufficient for standalone instructional purposes.
This compilation is ideal for anyone looking to enhance their understanding of innovation management and drive meaningful change within their organization. Whether you aim to improve product development processes, enhance customer experiences, or drive digital transformation, these frameworks offer valuable insights and tools to help you achieve your goals.
INCLUDED FRAMEWORKS/MODELS:
1. Stanford’s Design Thinking
2. IDEO’s Human-Centered Design
3. Strategyzer’s Business Model Innovation
4. Lean Startup Methodology
5. Agile Innovation Framework
6. Doblin’s Ten Types of Innovation
7. McKinsey’s Three Horizons of Growth
8. Customer Journey Map
9. Christensen’s Disruptive Innovation Theory
10. Blue Ocean Strategy
11. Strategyn’s Jobs-To-Be-Done (JTBD) Framework with Job Map
12. Design Sprint Framework
13. The Double Diamond
14. Lean Six Sigma DMAIC
15. TRIZ Problem-Solving Framework
16. Edward de Bono’s Six Thinking Hats
17. Stage-Gate Model
18. Toyota’s Six Steps of Kaizen
19. Microsoft’s Digital Transformation Framework
20. Design for Six Sigma (DFSS)
To download this presentation, visit:
https://www.oeconsulting.com.sg/training-presentations
Best practices for project execution and deliveryCLIVE MINCHIN
A select set of project management best practices to keep your project on-track, on-cost and aligned to scope. Many firms have don't have the necessary skills, diligence, methods and oversight of their projects; this leads to slippage, higher costs and longer timeframes. Often firms have a history of projects that simply failed to move the needle. These best practices will help your firm avoid these pitfalls but they require fortitude to apply.
Part 2 Deep Dive: Navigating the 2024 Slowdownjeffkluth1
Introduction
The global retail industry has weathered numerous storms, with the financial crisis of 2008 serving as a poignant reminder of the sector's resilience and adaptability. However, as we navigate the complex landscape of 2024, retailers face a unique set of challenges that demand innovative strategies and a fundamental shift in mindset. This white paper contrasts the impact of the 2008 recession on the retail sector with the current headwinds retailers are grappling with, while offering a comprehensive roadmap for success in this new paradigm.
3 Simple Steps To Buy Verified Payoneer Account In 2024SEOSMMEARTH
Buy Verified Payoneer Account: Quick and Secure Way to Receive Payments
Buy Verified Payoneer Account With 100% secure documents, [ USA, UK, CA ]. Are you looking for a reliable and safe way to receive payments online? Then you need buy verified Payoneer account ! Payoneer is a global payment platform that allows businesses and individuals to send and receive money in over 200 countries.
If You Want To More Information just Contact Now:
Skype: SEOSMMEARTH
Telegram: @seosmmearth
Gmail: seosmmearth@gmail.com
𝐔𝐧𝐯𝐞𝐢𝐥 𝐭𝐡𝐞 𝐅𝐮𝐭𝐮𝐫𝐞 𝐨𝐟 𝐄𝐧𝐞𝐫𝐠𝐲 𝐄𝐟𝐟𝐢𝐜𝐢𝐞𝐧𝐜𝐲 𝐰𝐢𝐭𝐡 𝐍𝐄𝐖𝐍𝐓𝐈𝐃𝐄’𝐬 𝐋𝐚𝐭𝐞𝐬𝐭 𝐎𝐟𝐟𝐞𝐫𝐢𝐧𝐠𝐬
Explore the details in our newly released product manual, which showcases NEWNTIDE's advanced heat pump technologies. Delve into our energy-efficient and eco-friendly solutions tailored for diverse global markets.
Digital Marketing with a Focus on Sustainabilitysssourabhsharma
Digital Marketing best practices including influencer marketing, content creators, and omnichannel marketing for Sustainable Brands at the Sustainable Cosmetics Summit 2024 in New York
Profiles of Iconic Fashion Personalities.pdfTTop Threads
The fashion industry is dynamic and ever-changing, continuously sculpted by trailblazing visionaries who challenge norms and redefine beauty. This document delves into the profiles of some of the most iconic fashion personalities whose impact has left a lasting impression on the industry. From timeless designers to modern-day influencers, each individual has uniquely woven their thread into the rich fabric of fashion history, contributing to its ongoing evolution.
Discover timeless style with the 2022 Vintage Roman Numerals Men's Ring. Crafted from premium stainless steel, this 6mm wide ring embodies elegance and durability. Perfect as a gift, it seamlessly blends classic Roman numeral detailing with modern sophistication, making it an ideal accessory for any occasion.
https://rb.gy/usj1a2
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...my Pandit
Explore the fascinating world of the Gemini Zodiac Sign. Discover the unique personality traits, key dates, and horoscope insights of Gemini individuals. Learn how their sociable, communicative nature and boundless curiosity make them the dynamic explorers of the zodiac. Dive into the duality of the Gemini sign and understand their intellectual and adventurous spirit.
2. What is a Database?
A collection of data that is organised in a predictable
structured way
Any organised collection of data in one place can be
considered a database
Examples
filing cabinet
library
floppy disk
2
3. What is Data?
The heart of the DBMS.
Two kinds
Collection of information that is stored in the
database.
A Metadata, information about the database.
Also known as a data dictionary.
An example of a Metadata in shown in Appendix
A.
3
4. Relational Data Model
A relational database is perceived as a
collection of tables.
Each table consists of a series of rows &
columns.
Tables (or relations) are related to each
other by sharing a common
characteristic. (EG a customer or product
table)
A table yields complete physical data
independence.
4
5. Features of the relational data
model
Logical and Physical separated
Simple to understand. Easy to use.
Powerful nonprocedural (what, not how) language to
access data.
Uniform access to all data.
Rigorous database design principles.
Access paths by matching data values, not by
following fixed links.
5
7. Terminology
Relation
A 2-dimensional table of values with these properties:
No duplicate rows
Rows can be in any order
Columns are uniquely named by Attributes
Each cell contains only one value
Employee Job Manager
Jack Secretary Jill
Jill Executive Bozo
Bozo Director
Lulu Clerk Jill
The special value is NULL which implies that there is no
corresponding value for that cell. This may mean the value does not
apply or that it is unavailable. Entire rows of NULLs are not
allowed.
7
8. Terminology
Tuple
Commonly referred to as a row in a relation.
Eg:
Jack Clerk Jill
Attribute
• A name given to a column in a relation. Each column must have a
unique attribute. This are often referred to as the fields.
Employee Job Manager
8
9. Terminology: Domain
A pool of atomic values from which cells a given column
take their values. Each attribute has a domain.
Attributes may share domains
Tom Mary
Attribute Domain Bozo Kali........
Employee Person Name Typist Manager
Job Job Name Clerk........
Manager Person Name
Here again we use the
same domain as above in
employee.
An attribute value (a value in a column labelled by the attribute)
must be from the corresponding domain or may be NULL ( ).
9
10. Terminology:Relation Schema
A Relational Schema is a named set of attributes. This refers to the
structure only of a relation. It is derived from the traditional set
notation displayed below
EMPLOYEE = { Employee, Job, Manager }
This is usually written in the modified version for database purposes:
EMPLOYEE( Employee, Job, Manager ) referring to the Table
EMPLOYEE
Employee Job Manager
10
11. Terminology:Integrity Constraint and
Domain Constraint
An Integrity Constraint is a condition that prescribes what
values are allowable in a relation. This permits the restriction of the
type of value that can be placed in a particular cell. Eg. only
numbers for telephone numbers
The Domain Constraint is a condition on the allowable values for an
attribute.
e.g. Salary < $60,000
Employee Job Manager Salary
Jack Secretary Jill 25,000 This restricts the
EMPLOYEE salary to be under
Jill Executive Bozo 40,000 a set value.
Bozo Director 50,000
Lulu Clerk Jill 30,000
11
12. Dealing with many keys
A key is a device that helps define relationships. Its role is
based on the concept of functional dependency which we deal
with extensively.
We will be referring to the following keys
Primary key
Foreign key
Simple key
Composite key
Concatenated key
Candidate key
Universal key
12
13. Terminology:Key Constraint
A condition that no value of an attribute or set of attributes be
repeated in a relation.
e.g. Employee(the attribute) has only unique
values in EMPLOYEE (the relation).
The following relation violates this constraint:
EMPLOYEE
Employee Job Manager Salary
Jack appears twice. Jack Secretary Bozo 25,000
This means that Jack Secretary Jill 25,000
This violates the
Jill Executive Bozo 40,000
Key Constraint
Bozo Director 50,000
Lulu Clerk Jill 30,000
13
14. Terminology:Key Constraint
An attribute (or set of attributes) to which a key constraint applies is
called a key ( or candidate key). Every relation schema must have a key.
EMPLOYEE Another possible key.
Employee Job Manager Salary The combination of
Job and manager is
Jack Secretary Bozo 25,000
also unique
Key Kim Secretary Jill 25,000
Jill Executive Bozo 40,000
Bozo Director Bozo 50,000
Lulu Clerk Jill 30,000
Simple Key Composite Key:
If a key constraint applies to a set of attributes, it is
called a composite or Concatenated Key. Otherwise it is a
simple key.
14
15. Terminology:Key Constraint
A key cannot have a NULL ( ) value.
For example, If we change the table so that the Employee Bozo
does not have a manager then Job+Manager cannot be a key.
Employee Job Manager Salary
Jack Secretary Bozo 25,000
Kim Secretary Jill 25,000
Jill Executive Bozo 40,000
Bozo Director 50,000
Lulu Clerk Jill 30,000
15
16. Terminology:Key Constraint
A primary key is a special preassigned key that can
always be used to uniquely identify tuples. We have to
choose a Primary Key for every Relation. We must consider
all of the Candidate Keys and choose between them.
Employee is a primary key for EMPLOYEE is usually
written as:
EMPLOYEE( Employee, Job, Manager, Salary )
Employee Job Manager Salary
Here we have chosen Jack Secretary Bozo 25,000
the Simple Key Employee
Over the concatenated Kim Secretary Jill 25,000
option of both Jill Executive Bozo 40,000
Job and Manager
Bozo Director Bozo 50,000
Lulu Clerk Jill 30,000
16
17. A Database is more than multiple tables you
must be able to “relate” them
Cus-code Cus-Name Area-Code Phone Agent-Code
10010 Ramus 615 844-2573 502
10011 Dunne 713 894-1238 501
10012 Smith 615 894-2205 502
10013 Olowaski 615 894-2180 502
10014 Orlando 615 222-1672 501
10015 O’Brian 713 442-3381 503
10016 Brown 615 297-1226 502
10017 Williams 615 290-2556 503
10018 Farris 713 382-7185 501
10019 Smith 615 297-3809 503
The link is through the Agent-Code
Agent-Code Agent-Name Agent-AreaCode Agent-Phone
501 Alby 713 226-1249
502 Hahn 615 882-1244
503 Okon 615 123-5589 17
18. Terminology: Relational Database
A Relational Database is just a set of Relations.
For example
EMPLOYEE Employee Job Manager Salary
Jack Secretary Bozo 25,000
Kim Secretary Jill 25,000
Jill Executive Bozo 40,000
Bozo Director 50,000
Lulu Clerk Jill 30,000
JOB Job Salary
Secretary 25,000
Which Attribute do you think
Secretary 25,000
relates these two tables
Executive 40,000 together?
Director 50,000
Clerk 30,000
18
19. Terminology:Relational Database Schema
A Relational Database Schema a set of Relation Schemas, together
with a set of Integrity Constraints.
For example the Relations that you have been looking at
with the headings
EMPLOYEE
Employee Job Manager Salary
JOB
Job Salary
are usually written as
EMPLOYEE(Employee, Job, Manager)
JOB(Job, Salary)
Notice how the Primary Keys are underlined
19
20. Terminology :Referential Integrity Constraint
This constraint says that –
All the values in one column should also appear in another column.
Look at the table below. Every entry in the Job column of the Employee
table must appear in the Job column of the Job table
EMPLOYEE FK PK JOB
Employee Job Manager Job Salary
Jack Secretary Bozo Secretary 25,000
Kim Secretary Jill Secretary 25,000
Jill Executive Bozo Executive 40,000
Bozo Director Director 50,000
Lulu Clerk Jill Clerk 30,000
PK FK
20
21. Referential Integrity Constraint
Why does the following relational database violate the
referential integrity constraints?
EMPLOYEE FK PK JOB
Employee Job Manager Job Salary
Jack Secretary Bozo Director 50,000
Kim Secretary Jill Clerk 30,000
Bozo Director
Lulu Clerk Jill
PK FK
In other words, Why can’t Employee(Job) be a Foreign Key to
Job(Job), or Employee(Manager) be a Foreignfor the answers
Click here Key to
Employee(Employee)?
21
22. Why Use Relational
Databases
Their major advantage is they minimise the
need to store the same data in a number of
places
This is referred to as data redundancy
22
24. Example of Data
Redundancy (2)
The names and addresses of all students are
being maintained in three places
If Owen Money moves house, his address
needs to be updated in three separate
places
Consider what might happen if he forgot to
let library administration know
24
26. Example of Data
Redundancy (4)
Data redundancy results in:
wastage of storage space by recording duplicate
information
difficulty in updating information
inaccurate, out-of-date data being maintained
26
27. Other Advantages of Relational
Databases
Flexibility
relationships (links) are not implicitly defined by
the data
Data structures are easily modified
Data can be added, deleted, modified or
queried easily
27
28. Summary of Some Common
Relational Terms
Entity - an object (person, place or thing) that we
wish to store data about
Relationship - an association between two entities
Relation - a table of data
Tuple - a row of data in a table
Attribute - a column of data in a table
Primary Key - an attribute (or group of attributes) that
uniquely identify individual records in a table
Foreign Key - an attribute appearing within a table
that is a primary key in another table
28
30. Terminology: Network Diagram
Referential Integrity constraints can easily be represented by
arrows FK PK. The arrow points from the Foreign Key to the
matching Primary Key
EMPLOYEE(Employee, Job, Manager) JOB(Job, Salary)
A relational database schema with referential integrity constraints can
also be represented by a network diagram. A Referential Integrity
Constraint is notated as an arrow labeled by the foreign key. You must
always write the label of the Foreign Key on the arrow. Sometimes the
same attribute has different titles in different tables.
EMPLOYEE Job JOB
Manager Network Diagram
Notice here, the label is Manager and not Employee.
30
31. Personnel Database: Consider the following Tables
PRIOR_JOB EXPERTISE
E_NUMBER PRIOR_TITLE E_NUMBER SKILL ASSIGNMENT SKILL
1001 Junior consultant 1001 Stock market E_NUMBER P_NUMBER AREA
1001 Research analyst 1001 Investments
1002 Junior consultant 1002 Stock market 1001 26713 Stock Market
1002 Research analyst 1003 Stock market 1002 26713 Taxation
1003 Junior consultant 1003 Investments 1003 23760 Investments
1004 Summer intern 1004 Taxation 1003 26511 Management
1005 Management 1004 26511
PROJECT 1004 28765
1005 23760
NAME P_NUMBER MANAGER ACTUAL_COST EXPECTED_COST
New billing system 23760 Yates 1000 10000
Common stock issue 28765 Baker 3000 4000
Resolve bad debts 26713 Kanter 2000 1500
New office lease 26511 Yates 5000 5000
Revise documentation 34054 Kanter 100 3000
Entertain new client 87108 Yates 5000 2000
New TV commercial 85005 Baker 10000 8000
EMPLOYEE TITLE
NAME E_NUMBER DEPARTMENT E_NUMBER CURRENT_TITLE
Kanter 1111 Finance 1001 Senior consultant
Yates 1112 Accounting 1002 Senior consultant
Adams 1001 Finance 1003 Senior consultant
Baker 1002 Finance 1004 Junior consultant
Clarke 1003 Accounting 1005 Junior consultant
Dexter 1004 Finance 31
Early 1005 Accounting
32. Personnel Database Schema
What are the connecting Foreign Keys to Primary Keys?
Not FK, we will look at this
later
PROJECT (NAME, P_NUMBER, MANAGER, ACTUAL_COST, EXPECTED_COST )
ASSIGNMENT (E_NUMBER, P_NUMBER) SKILL (AREA)
PRIOR_JOB (E_NUMBER, PRIOR_TITLE)
EXPERTISE (E_NUMBER, SKILL)
TITLE (E_NUMBER, CURRENT TITLE )
EMPLOYEE (NAME, E_NUMBER, DEPARTMENT) 32
33. Personnel Database Network Diagram
SKILL EMPLOYEE PROJECT
Once you have produced your Schema and identified the Primary and
Foreign Keys you can create the Network Diagram.The Network Diagram
shows each of the tables with their links. Each of the Tables (Relations)
are represented in a rectangle as shown. They are then connected by
arrows that show the FKs pointing to the PKs, The arrow head points
towards the PK, while the FK name written is the same as the attribute of
the table that has the FK in it.
EXPERTISE PRIOR_JOB TITLE ASSIGNMENT
33
35. Summary: Questions
What is a Relational Database?
What actually is a relation?
What are Constraints?
What is a Schema?
What is a Network Diagram and why is it used?
35
36. Summary: Answers
A relational database is based on the relational data model.
It is one or more Relations(Tables) that are Related to each other
A relation is a table composed of rows (tuples) and columns, satisfying 5 properties
• No duplicate rows
• Rows can be in any order
• Columns are uniquely named by Attributes
• Each cell contains only one value
• No null rows.
Constraints are central to the correct modeling of business information. Here we
have seen them limit the set up of your tables: Referential Constraint
The Network Diagram is used to navigate complex database structures. It is a
compact way to show the relationships between Relations (Tables)
36
37. Activities
Consider the following relational database
schemas.
Suppliers(suppId, name, street, city,state)
Part(partId,partName,weight,length,composition)
Products(prodId, prodName,department)
Supplies(partId,suppId)
Uses(partId,prodId)
Make reasonable assumptions about the meaning of attribute and
relations, identify the primary and foreign keys and draw a
network diagram showing the relations and foreign keys.
37
39. Show the foreign keys on the network diagrams
Orders
Ordnum ordDate custNumb
12489 2/9/91 124
Customer
custNumb custName Address Balance credLim sksnumb
124 Adams 48 oak st 418.68 500 3
SalesRep
Slsnumber Name address totCom commRate
3 Mary 12 Way 2150 .05
Part
Part Desc onHand IT wehsNumb unitPrice
AX12 Iron 1.4 HW 3 17.95
39
44. Functional Dependency
Diagrams
Data Analysis
In this Unit we look at the following:
Data Element, Attribute,
Functional Dependency (FD),
Redundant FD,
Pseudotransitive FD,
Intersecting Attribute
44
45. Functional Dependency
Diagrams
A FUNCTIONAL DEPENDENCY DIAGRAM is a way of
representing the structure of information needed to
support a business or organization
It can easily be converted into a design for a relational
database to support the operations of the business.
45
46. Functional Dependency
Diagrams
There are a number of methods for us to develop our
database design from here. We could use the method of
developing a large table with all attributes and breaking
it down into smaller tables using what we refer to as
Normalization by Decomposition (we look at this in detail
later), or we could use Functional Dependency Diagrams
to create a pictorial model of our database.
46
47. Data Analysis and Database
Design Using Functional
Dependency Diagrams
1. The steps of Data Analysis in FDD are
1.1 Look for Data Elements
1.2 Look for Functional Dependencies
1.3 Represent Functional Dependencies in a
diagram
1.4 Eliminate Redundant Functional
Dependencies
2. Data Design, after we have our final version of the FDD
2.1 Apply the Synthesis Algorithm
47
48. Starting points for drawing
functional dependency
diagrams
To start the process of constructing our FDD we do the following:
We must Understand the data
We Examine forms, reports,data entry and output screens
etc…
We Examine sample data
We consider Enterprise (business) rules
We examine narrative descriptions and conduct interviews.
We apply our Experiences/Practice and that of others
48
49. Enterprise Rules
What are Enterprise Rules?
An enterprise rule (in the context of data analysis) is a
statement made by the enterprise (organisation, company,
officer in charge etc.) which constrains data in some way.
Functional dependencies are the most important type of
constraint on data and are often expressed in the form of
enterprise rules.
e.g
No two employees may have the same employee number.
An order is made by only one customer
An employee can belong to only one department at a time.
49
50. Drawing FDDs - Data
Elements
We often refer to Data Elements during the FDD process
A data element is a elementary piece of recorded
information
Every data element has a unique name.
A data element is either a
Label, e.g PersonName, Address,
BulidingCode, or
Measurement, e.g. Height, Age, Date
A data element must take values that can be written
down. 50
51. Functional Dependency
Diagrams
Using the Method of
Decomposition
Given the Sample Data Tables
Problem ONF Eliminate
Repeating
Groups
OR, here is the same
Attribute process using the FDD Universal
& Functional Relation
Dependencies approach
1NF
Functional Eliminate
Dependency Part Key
Diagram Now we have the Dependencies
Database Design
2NF
Relation
Method of 3NF Eliminate Non Key
Synthesis Relation Dependencies 51
52. Data Element
Examples
Here are some examples
PersonName has values Jeff, Jill, Gio, Enid
Address has values 1 John St, 25 Rocky Road
Height has values 171cm, 195cm
Age has values 21,52,93,2
Date has values 20th May 1947, 2nd March 1997
JobName has values Manager, Secretary, Clerk
Manager might not be a data element, but
ManagerName could be. It could be a value of another
data element e.g. JobName
52
53. Drawing FDDs Data
Elements
Start drawing the Functional Dependency Diagram by
representing the Data Elements. A Data Element is
represented by its name placed in a box: Data Element
Every data element must have a unique name in the
functional dependency diagram.
A data element cannot be composed of other data
elements i.e.
it cannot be broken down into smaller components
A Data Element is also known as an ATTRIBUTE,
because it generally describes a property of some
thing which we will later call an ENTITY
53
54. Drawing FDDs –Using
Elements
A functional Dependency is a relationship between Attributes.
It is shown as an arrow e.g A B
It means that for every value of A, there is only one value for B
It reads “A determines B”.
A is called a determinant attribute.
B is called the dependent attribute.
54
55. Data Element Examples
Here are some examples of finding the Data Elements
on a typical form
Surname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
On a form gives rise to the element
Surname
CREDIT CARD Bankcard Mastercard Visa Other
On a form gives rise to the element
CreditCardType
55
56. Functional Dependency
Examples
Students and their family names
“Each student (identified by student number) has only one
family name”
Students FamilyName
1 Smith
2 Jones
3 Smith
4 Andrews
Considering the rules stated above we should be able to
draw a FDD for this. What are the elements of
interest?
56
57. FDDs Answer
Students FamilyName
1 Smith
2 Jones
3 Smith
4 Andrews
Data elements of interest are Student# and FamilyName.
Students determine FamilyName
(or FamilyName depends on Students)
Students FamilyName
Each student has exactly one family name, but the name could be the
name of many students.
So FamilyName does not determine Student# e.g. “Smith is the
name of students 1 and 3
57
58. FDDs Examples
Employees and the departments
they work for.
Department Name Accounting Department Name Sales
Employee Number 11 Employee Number 45
2 27
31
Enterprise Rule: “Each employee works on only one department”
In this example the tables are representing some interesting data
of the business. We see that Employees with the ID numbers 11,2
and 31 all work in the Accounting Dept and that Employees with the
ID numbers 45 and 27 work in the Sales Dept.
Do you think that you could draw an FDD to represent this? Have a
go and then check your answers
58
59. FDD Answers
Employees and the departments
they work for.
Department Name Accounting Department Name Sales
Employee Number 11 Employee Number 45
2 27
31
Data elements of interest are Employee# and DeptName”
Employee# DeptName
Employee# DeptName
11 Acc
So we could make
this following Table 2 Acc
45 Sales
31 Acc
27 Acc 59
60. FDDs Examples
The quantity of parts held in a warehouse
and their suppliers
“Parts are uniquely identified by part numbers”
“Suppliers are uniquely identified by Supplier Names”
“A part is supplied by only one supplier”
“A part is held in only one quantity”
Parts Suppliers Name QOH
1 Wang Electronics 23
2 Cumberland Enterprises 80
3 Wang Electronics 4
4 Roscoe Pty. Ltd 58
Part# determines SupplierName & Part# determines QOH
Parts SupplierName
Parts QOH
Should QOH be a determinant? No, common sense tells us that is not a reliable 60
choice. We could have had repeating values
61. FDDs Examples
Students and their subjects enrolled.
“Each student is given a unique student number”
“A subject is uniquely identified by its name”
“A student may choose several subjects”
Student SubjectName Data element of interest are
1 History Student# and SubjectName
1 Geography
Student
1 Mathematics
1 History
2 English SubjectName
2 English
There us no functional dependency here.
3 Mathematics
Student# does not determine
3 English SubjectName,
4 French nor does SubjectName determine Student#
4 Geography 61
62. FDDs Examples
Results obtained by each student for
each subject.
“Each student is given a unique student
number”
“A subject is uniquely identified by its name”
“A student may choose several subjects”
“A student is allocated a result for each subject”
“Each student has only one name.”
Data elements are
Student#, StudentName, SubjectName and Grade
62
63. FDDs Examples
Results obtained by each student for each
subject.
Student Subject
Student Grade
Name Name
1 Smith History A
1 Smith Geography B
1 Smith Mathematics A
2 Jones History C
2 Jones English C
3 Smith English A
3 Smith Mathematics A
4 Andrews English D
4 Andrews French C
4 Andrews Geography C
Try and construct an FDD for this table considering 63
the given Business Rules and the Data Elements
64. FDDs Examples
Results obtained by each student
for each subject.
We can see that there is only one and only one student name for
each student number, even though there might be more than one
student with the same name. So….
Student # StudentName
But the subject grade for any student cannot be determined by
the subject name or the student# by itself. A student can have
many grades depending on the subject. How can we cater for
this?
64
65. FDDs Answer
Results obtained by each student
for each subject.
We need to combine the two Elements to say that there is
one and only one grade for a student doing a particular
subject. Here then is the complete diagram
StudentName
Student
SubjectName Grade
This is called the
Composite Determinant
65
66. FDDs Examples
Customer Orders
Order Part# CustomerName Address
454 12 David Smith 1 John St, Hawthorn
454 23 David Smith 1 John St, Hawthorn
455 32 Emily Jones 45 Grattan St, Parkville
455 49 Emily Jones 45 Grattan St, Parkville
455 54 Emily Jones 45 Grattan St, Parkville
456 12 Mary Ho 44 Park St, Hawthorn
456 54 Mary Ho 44 Park St, Hawthorn
Validating functional dependencies
Using simple data and populating the table, check there is only one value of the
dependent.
66
67. FDDs Examples
“Orders is uniquely identified by its names”
“Customers are uniquely identified by their
names”
“A customer has only one address”
“An order belongs to only one customer”
“A part may be ordered only once one each
order”
Order Parts Ordered CustomerName Address
454 23, 12 David Smith 1 John St, Hawthorn
455 54, 49, 32 Emily Jones 45 Grattan St, Parkville
456 54, 12 Mary Ho 44 Park St, Hawthorn
Order CustomerName Address
Part#
67
68. FDDs Examples
Employees and their tax files
numbers
“Each employee has a unique employee
number”
“Each employee has a unique tax file number ”
Employee TaxFile#
Employee# determines taxfile#
1 1024-5321
Employee# Taxfile#
2 3456-3294
3 8246-7106
Taxfile# determines Employee#
4 8861-6750
Taxfile# Employee#
5 1234-4765
Taxfile# Employee#
Alternative keys 68
70. Functional Dependency
Diagrams
Database Design
Let’s look at the process of converting
the FDD into a schema. We have a 12
step process to do so, that has an
iterative component to it (loop).
The 12 steps are outlined in the next
series of slides.
70
71. Functional Dependency Diagram
Preparation
1. Represent each data element as a box.
2. Represent each functional dependency by an arrow.
3. Eliminate augmented dependencies.
4. Eliminate transitive dependencies.
5. Eliminate pseudo-transitive dependencies.
By this stage, intersecting attributes should have been
eliminated.
71
72. Deriving 3NF Schema: Synthesis Algorithm
6. Pick any (unmarked) arrow in the diagram.
7. Follow it back to its source, and write down
the name of the source.
S
S
8. Follow all arrows from the source data item,
and write down the names of their destinations.
A
S B
S, A, B, C
C
S is now the key of a 3NF relation (S , A, B, C).
72
73. Synthesis Algorithm: Deriving 3NF Schema
9. Mark all the arrows just processed. A
S B
C
10. If there are any unmarked arrows in the diagram, go back to step 6.
11. Finally, determine the Universal Key. Any attribute which is not
determined by any other attribute (ie. has no arrow going into it) is part of
the Universal Key.
U1 U2 U3
12. If the universal key is not already contained in any of the above relations, make
it into a relation. The universal key is the key of the new relation.
73
74. A Fully Worked Example
We will now work from a given set of forms to produce an FDD
then use the 12 steps to produce the Schema. The forms that
follow show the time spent by a particular employee on a
particular project. They contain details of the employee along
with details of the project. In addition they also state the
hours that the employee has spent on any one project to date.
This is important to the FDD. Notice also that the employee
can have many previous titles and have a number of skills. This
also has to be dealt with in the FDD and then later after we
have used the synthesis technique to create the Schema. Have
a good look at the forms on the next 2 slides and try to
develop the FDD yourself.
74
75. Personnel Database Forms 1
EMPLOYEE
______________________________________________________________________________________________________________
NAME E_NUMBER DEPARTMENT LOCATION CURRENT TITLE PRIOR_TITLES
SKILLS_
______________________________________________________________________________________________________________
Adams 1001 Finance 9th Floor Senior consultant Junior consultant Stock market
Research analyst Investments
______________________________________________________________________________________________________________
PROJECTS
______________________________________________________________________________________________________________
NAME TIME_SPENT P_NUMBER MANAGER ACTUAL_COST EXPECTED_COST
______________________________________________________________________________________________________________
Resolve bad debts 35 26713 Kanter 2000 1500
______________________________________________________________________________________________________________
We say that this table is in “zero normal form” (0NF)
This is because the cells have multiple values, eg. Prior titles and
Skills. The next slide shows forms that demonstrate that an employee
can work on many projects.
75
76. Personnel Database Forms 2
EMPLOYEE
__________________________________________________________________________________________________________
NAME E_NUMBER DEPARTMENT LOCATION CURRENT TITLE PRIOR_TITLES
SKILLS
__________________________________________________________________________________________________________
Baker 1002 Finance 9th Floor Senior consultant Junior consultant Stock market
Research analyst
_____________________________________________________________________________________________________________________
_
PROJECTS
__________________________________________________________________________________________________________
NAME TIME_SPENT P_NUMBER MANAGER_NUM ACTUAL_COST EXPECTED_COST
__________________________________________________________________________________________________________
Res bad debts 18 26713 Kanter 2000 1500
__________________________________________________________________________________________________________
________________________________________________________________________________________________________________
EMPLOYEE
_________________________________________________________________________________________________________
NAME E_NUMBER DEPARTMENT LOCATION CURRENT TITLE PRIOR_TITLES
SKILLS
_________________________________________________________________________________________________________
Clarke 1003 Accounting 8th Floor Senior consultant Junior consultant Stock market
Investments
_________________________________________________________________________________________________________
PROJECTS
_________________________________________________________________________________________________________
NAME TIME_SPENT P_NUMBER MANAGER_NUM ACTUAL_COST EXPECTED_COST
_________________________________________________________________________________________________________
New billing system 26 23760 Yates 1000 10000
New office lease 10 26511 Yates 5000 5000
___________________________________________________________________________________________________________________________
76
77. Personnel Database FD Diagram
From the forms given we can produce the following
FDD
EXPECTED_COST
PROJECT_NAME
ACTUAL_COST
TIME_SPENT
MANAGER_NUM P_NUMBER
EMPLOYEE_NAME
PRIOR_TITLE
E_NUMBER
CURRENT_TITLE
SKILL
DEPARTMENT_NAME LOCATION
77
78. Personnel Database FD Diagram -Synthesis
Let us just consider the section of the FDD that
looks at the project number as the determinant
EXPECTED_COST
PROJECT_NAME
ACTUAL_COST
MANAGER_NUM P_NUMBER
By using the synthesis method we can choose an arrow, trace it
back to the source, and gather together all of the attributes that
the source points to. Try this and see if you can create the
schema for this table.
78
79. Personnel Database FD Diagram - Synthesis
Again, if we choose another arrow that has not been chosen
before and follow it back to the determinant we find
DEPARTMENT_NAME is a determinant. Gathering all of the
attributes that it points to we only have the location
attribute. Hence this is a simple table consisting of
DEPARTMENT_NAME as the Primary key and LOCATION as
the only other attribute.
DEPARTMENT_NAME LOCATION
So the table
DEPT(DEPARTMENT_NAME, LOCATION) is created
79
80. Personnel Database FD Diagram - Synthesis
EMPLOYEE_NAME
E_NUMBER CURRENT_TITLE
Likewise for the section of the
FDD based around the
E_NUMBER, creating the following
table for the Employees details.
DEPARTMENT_NAME
EMPLOYEE (EMPLOYEE_NAME, E_NUMBER, DEPARTMENT, CURRENT
TITLE )
80
81. Personnel Database FD Diagram - Synthesis
Here we have a slightly more complicated one. The Time spent on the
project is dependent on both the Project number and the Employee
name, as it is the time spent by a particular employee on a particular
project. This is demonstrated by the boxing of both the above
attributes together pointing to the TIME_SPENT
P_NUMBER
TIME_SPENT
E_NUMBER
Try to create the Assignment table for this part
of the FDD.When you think you have it have a
look at ours and see if you are right. 81
82. Personnel Database
FD Diagram - Synthesis
P_NUMBER TIME_SPENT
E_NUMBER
The main difference here is that when choosing the arrow to follow back
to the determinant we find that we have 2. This is OK, we just have to
make sure that in the table both of them are the primary Key. We have a
Composite Primary Key consisting P_NUMBER and E_NUMBER. When we
then gather up all of the attributes that they point to together we get
TIME_SPENT. Hence the table is written as
ASSIGNMENT (E_NUMBER, P_NUMBER, TIME_SPENT)
See the composite primary
key 82
83. Personnel Database FD Diagram - Universal
Key
Now, the last part of the synthesis is often forgotten. We must collect up
all of the attributes that do not have arrows pointing into them and place
them in the one table called the Universal Key. Every attribute collected
then becomes part of the composite Primary Key. In this case we have the
following attributes inside the box below. Notice how Skill is there, as it
sits by itself. Nothing is its determinant.
P_NUMBER
PRIOR_TITLE
SKILL E_NUMBER
UK (E_NUMBER, P_NUMBER, PRIOR_TITLE, SKILL)
83
84. Foreign Keys
In the Synthesis Algorithm, a foreign key will arise from any
attribute that is:
A. both a determinant and part of another determinant,
OR
B. both a determinant and a dependent.
TIME_SPENT ASSIGNMENT (E_NUMBER, P_NUMBER, TIME_SPENT)
A.
P_NUMBER
E_NUMBER EMPLOYEE (E_NUMBER, DEPARTMENT_NAME)
B.
DEPARTMENT_NAME
LOCATION DEPT(DEPARTMENT_NAME, LOCATION)
84
85. ISA = Is A
In the case of the manager we say that the manager number is
contained within the employee number
Every MANAGER value is a E_NUMBER value.
MANAGER_NUM
ISA
E_NUMBER
MANAGER_NUM
EMPLOYEE PROJECT
Gives rise to a new Foreign Key 85
86. Personnel Database Schema
Generated by Synthesis
PROJECT (NAME, P_NUMBER, MANAGER_NUM, ACTUAL_COST, EXPECTED_COST )
ASSIGNMENT (E_NUMBER,
P_NUMBER, TIME_SPENT) This foreign key
is a result of
MANAGER ISA
UK (E_NUMBER, P_NUMBER, PRIOR_TITLE, SKILL) E_NUMBER
EMPLOYEE (NAME, E_NUMBER, DEPARTMENT, CURRENT TITLE )
DEPT(DEPARTMENT, LOCATION)
86
88. A Fully Worked
Example
We now have to take care of the multi-valued areas such as skills and
prior titles. Our FDD synthesis takes care of everything up to that.
It converts the FDD to what we call “Third normal Form”. We know
that an individual can have many skills and many Prior Titles. They can
also work on many Projects. Knowing the Employee number will not
tell us one and only one value of the Skills that they have. We show
this on the extended FDD with a double arrow notation.The notation
for such a relationship is shown here where E_NUMBER is a
determinant for many values of skill. Consequently the resulting
representation shown on the next slide can be constructed, giving rise
to the splitting of the UK to form three more relations
E_NUMBER
SKILL
88
89. Personnel Database
Multivalued Dependency-Decomposition
MultiValued Dependency ASSIGN (E_NUMBER,
P_NUMBER, P_NUMBER)
PRIOR_TITLE
Employees are associated with
MVDs Projects, Titles and Skills
E_NUMBER independently. There is no
direct relationship between
SKILL Projects, Titles and Skills.
PRIOR_JOB (E_NUMBER, PRIOR_TITLE)
EXPERTISE (E_NUMBER, SKILL) Hence we have the
three new relations
ASSIGN, PRIOR_JOB
and EXPERTISE
89
90. Personnel Database FD Diagram with
MVDs and Inclusion
PROJECT_NAME
EXPECTED_COST
MANAGER_NUM
ACTUAL_COST
P_NUMBER
TIME_SPENT
MVD
ISA
EMPLOYEE_NAME
E_NUMBER CURRENT_TITLE
PRIOR_TITL
E
MVD
SKILL
DEPARTMENT_NAME LOCATION 90
91. Final Personnel Database Schema
PROJECT (NAME, P_NUMBER, MANAGER, ACTUAL_COST, EXPECTED_COST )
ASSIGNMENT (E_NUMBER, P_NUMBER, TIME_SPENT)
Decomposed PRIOR_JOB (E_NUMBER, PRIOR_TITLE)
from UK
EXPERTISE (E_NUMBER, SKILL)
EMPLOYEE (NAME, E_NUMBER, DEPARTMENT, CURRENT TITLE )
DEPT(DEPARTMENT, LOCATION)
91
93. Personnel Database
FD Diagram - Synthesis
EXPECTED_COST
PROJECT_NAME
ACTUAL_COST
MANAGER P_NUMBER
Choosing any of the arrows and following it back leads you to the
project number (P_Number). This is then the Primary Key. If you then
gather all of the attributes that P_Number points to and place them in
the brackets you get the table Project with P_Number as the
primary Key.
PROJECT (PROJECT_NAME,P_NUMBER, MANAGER, ACTUAL_COST, EXPECTED_COST )
93
94. Role Splitting In Functional
Dependency Diagrams
In a Functional Dependency Diagram any group of
attributes can be related in only one way.
For example, a pair of attributes can be related
by an FD or not.
Sometimes data can be related in more one way.
For example, a department can have an employee
as its head or as a member.
The member relationship is represented in the
FDD:
E_NUMBER DEPARTMENT_NAME
But the head relationship is represented in the
FDD:
DEPARTMENT_NAME E_NUMBER 94
95. Role Splitting In Functional
Dependency Diagrams
We can choose to split the E_NUMBER attribute into E_NUMBER and
HOD.
But the foreign key constraint that a Head of Department is an Employee
is lost on the FDD.
E_NUMBER DEPARTMENT_NAME
FDD
Synthesis HOD
ISA
NetworkD DEPARTMENT_NAME
EMPLOYEE DEPT
HOD
95
96. Role Splitting In FDDs
Alternatively, we can choose to split the
DEPARTMENT_NAME attribute into EMPLOYING_DEPT and
HEADED_DEPT.
But the foreign key constraint that an Employing
Department must be a Headed Department is again lost on
the FDD.
E_NUMBER EMPLOYING_DEPT
FDD
Synthesis HEADED_DEPT ISA
NetworkD
EMPLOYING_DEPT
EMPLOYEE DEPT
E_NUMBER
96
97. Role Splitting Example
Consider this example. We have the Employee
with many Skills, Prior Titles, as before but we
also have equipment that belongs to a particular
employee, such as a computer and a fax. An
employee can have many different pieces of
equipment. It is worthwhile recognizing them on
the diagram and then decomposing them into
smaller relations as part of the schema
97
98. Suppose each item of
equipment (identified by
SERIAL#) belongs to an
employee.
SERIAL# DESCRIPTION
PRIOR_TITL
E
MVDs EMPLOYEE_NAME
SKILL
E_NUMBER CURRENT_TITLE
UK ISA
HOD
DEPARTMENT_NAME LOCATION
•MVDs not necessarily embodied in the UK.
•Better to decompose on MVDs first.
•MVDs partition attributes into independent sets.
98
100. ENTITY RELATIONSHIP
ANALYSIS
In this area of the course we concentrate an
another modelling technique called Entity
Relationship Modelling (ERM or ER).
The first stage of this process will look at the
following:
ER Data Model and Notation
Strong Entities
Discovering Entities, Attributes
Identifying Entities
Discovering Relationships
100
101. Critique of FD Analysis
We originally concentrated on the modelling technique
called Functional Dependency Diagrams. They have
limitations as follows:
Disadvantages of FDD
Does not represents real world objects, but only
data;
Cannot represent MVDs or specialization;
Cannot represent multiple relationships without
artificial splitting of attributes;
Entities fragmented during analysis;
101
102. Conceptual Data Analysis
By using the ER technique we have the following
advantages:
Data Analysis from the User's Point of View
Models the Real World
Independent of Technology
Able to be validated in user terms
102
103. Entity Relationship Data Model
Features
The real value of using this type of modelling is that it
considers the design in context to the environment where it
comes from. We have these Entities that have there own
identifying attributes, real things and real people. They can
be observed in the environment. ERM has the following
features:
Populations of Real World objects represented by Entities
Objects have Natural Identity
Entities have Attributes which have values
Entities related by Relationships
Constraints
Subtypes
103
104. Occurrences versus Entities
56 Jack Ackov 28 Jill Hill
Let’s consider these two instances.
Here we have both Jack and Jill,
aged 56 and 23 respectively. By
themselves they exist as people in
their environment. In this case we
consider them to be two customers.
If we wish to model them and all of
the possible customers that we have Entity Occurrences
we need to create an Entity Class for Entity Instances
all possibilities. Objects
104
105. Occurrences versus Entities
56 Jack Ackov 28 Jill Hill Customer# CustName
CUSTOMER
Entity Occurrences Entity Classes
Entity Instances Entity Types
Objects Entity Sets
These are the Tuples of This will convert to the schema
the table below below with Customer# being
the Primary Key
Customer# CustName
56 Jack Ackov CUSTOMER(Customer#, CustName)
28 Jill Hill
105
106. 56 Jack Ackov
28 Jill Hill
Here we have Jack and Jill
placing orders for particular
items of stock. They appear
to order different amounts of
each. For instance Jack
orders 3 bikes. Each item
being ordered also has a
Stock#, Price and 3 4
1
Description. These are 12
individual instances of the
process so we need to be
able to represent any
possibility of this in our
model. See how we do this
on the next page.
156 Cup of Tea 234 Pussy Cat
106
23 50 Bike 1 25
107. 56 Jack Ackov
28 Jill Hill Customer# CustName
CUSTOMER
3 4
1
12
ORDERS Quantity
ITEM
Stock# Price Desc
23 50 Bike 156 1 Cup of Tea 234 25 Pussy Cat
107
108. Occurrences to Entities to
Schemas
Customer# CustName CUSTOMER(Customer#, CustName)
56 Jack Ackov
28 Jill Hill
Customer# Stock# Quantity ORDERS(Customer#, Stock#, Quantity)
56 23 3
56 156 12
28 156 4
28 234 1
Stock# Price Desc ITEM(Stock#, Price, Desc)
23 50 Bike
156 1 Cup of Tea
234 25 Pussy Cat
108
109. ENTITIES
Entities are classes of objects about which we wish to store information.
Examples are:
People: Employees, Customers, Students,..... STRONG
Places: Offices, Cities, Routes, Warehouses,...
Things: Equipment, Products, Vehicles, Parts,....
Organizations: Suppliers, Teams, Agencies, Depts,...
Concepts: Projects, Orders, Complaints, Accounts,......
Events: Meetings, Appointments.
WEAK
109
110. STRONG ENTITIES
An entity is Existence Independent if an instance can exist in isolation.
For example, CUSTOMER is existence independent of ORDER,
but ORDER is existence dependent on CUSTOMER. The ORDER
is by a particular customer for a/many particular item(s)
An entity is identified if each instance can be uniquely distinguished by its
attributes (or relationships).
For example, CUSTOMER is identified by Customer#, PERSON
is identified by Name+Address+DoB, ORDER is identified by
Customer#+Date+Time.
110
111. STRONG ENTITIES
An entity is STRONG if it can be identified by its (own) immediate
attributes. Otherwise it is weak.
For example, CUSTOMER and PERSON are strong entities, but
ORDER is weak because it requires an attribute of another
entity to identify it. ORDER would be strong if it had an
Order#.
Existence independent entities are always strong.
111
112. The Method: How to Develop the
ERM
Step1: Search for Strong Entities and Attributes
Step2. Attach attributes and identify strong entities.
Step3. Search for relationships.
Step4. Determine constraints.
Step5. Attach remaining attributes to entities and relationships.
Step6. Expand multivalued attributes, and relationship attributes.
Represent attributed relationships and/or multivalued
attributes in a Functional Dependency Diagram.
Step7. Identify weak entities.
Step8. Iterate steps 4,5,6,7,8 until no further expansion is possible.
Step9. Look for generalization and specialization; Analyze Cycles; Convert
domain-sharing attributes to entities.
112
113. The
1
Search for
Method
strong entities 2
Narrative and attributes Identify Attributes
& strong
Forms Entities entities
3 Strong entities
Search for 7
relationships Identify
4&5 weak entities
Determine Identified
constraints and weak
Relationships attach attributes entities
Entity-Relationship Weak Entities
6 Diagram
Expand attributed
relationships and/or
multivalued attributes
6’ Functional
Represent attributed Dependency
relationships and/or multivalued attributes Diagrams113
as Functional Dependencies
114. Step1: Search for Strong Entities
and Attributes
1 Entities
relevant nouns
many instances
have properties (attributes or relationships)
identifiable by properties
2 Strong Entities
independent existence
identifiable by own single-valued attributes
•3 Attributes
–printable names,
measurements
–domain of values
–no properties
–dependent existence
114
115. A worked example finding strong
Entities
A customer is identified by a
customer#. A customer has a
name and an address. A
customer may order quantities
Here we have a scenario. of many items. An item may
Try to firstly identify all of be ordered by many
the strong entities followed customers. An item is
and all of the attributes.
identified by a stock#. An
Can you also identify a weak
item has a description and a
entity? Are there any
attributes that you have price. A stock item may have
missed? many colours. Any item
ordered by a customer on the
same day is part of the same
order
115
116. Worked Example
Continued
Let us take and place it
around the nouns. These lead us
to what we will consider to be A customer is identified by a
the strong entities. If we then customer#. A customer has a
place the around items name and an address. A
that we think would be the
customer may order quantities of
attributes, we can see if if any
of the identified Entities are many items. An item may be
strong. You will notice that the ordered by many customers. An
item has a description, price, item is identified by a stock#.
colour and stock # and a An item has a description and a
customer has a customer price. A stock item may have
number, name, and address. many colours. Any item ordered
These a Existence Independent by a customer on the same day is
Entities, and hence they must be part of the same order
strong.
116
117. Worked Example Continued
We have our Entities and the attributes displayed before us.
Customer and Item are strong entities as they are Existence
Independent. What about Order?
Order cannot be
identified completely by
any of its own attributes. Conceptual Schema
It is dependent on the
attributes of the other 2 CUSTOMER ITEM
entities to be identified. Address Customer# Date
An order is made up of a Quantity Stock# Description
customer ordering an Price Customer Name
item. We need the
Colour
customer# and the item# ORDER
to identify the order
117
118. Step2. Identify Strong Entities.
We now attach the attributes that belong to each of the Strong
Entities. Notice that there are some left that belong to neither
Customer or Item. We will look at this later.
Conceptual Schema
Customer# Stock#
Price
CUSTOMER ITEM
Desc
Address Colour
CustName
Qty Date
Both Customer and Item have what we call a Natural Identity
118
119. Another Example of the Difference
Between Weak and Strong Entities
Here is another example of a common occurrence that
demonstrates the difference between a strong entity and a
weak entity
A strong entity is identified by its own attributes.
Bidders make purchases of goods at the auction.
BIDDER and a GOOD have independent existence, hence
are strong, but PURCHASE requires attributes of
BIDDER and GOOD. The Purchase is the identified by
the Bibbers name and the Goods description. These are
2 attributes that belong to both the Bidder and the
Good respectively.
119
120. Additional Rules for Entities
For an Entity to exist we have the following additional rules:
There must be more than one instance of an entity.
The company provides superannuation for its workers.
Here there is only one instance of COMPANY so it is not
a valid entity.
We do not model anything that only has one instance
Each instance of an entity must be potentially distinguishable by its
properties.
Members send five dollars to the association.
A dollar does not normally have distinguishing
attributes.
120
121. Step3. Search for Relationships.
We can now identify Relationships that have the following properties:
Relationships
Have associate entities
Are relevant
must be worth recording
Can be"structural" verbs in the narrative
persistent, rather than transient relationships
Can be "abstract" nouns in the narrative
nonmaterial connections, eg. Enrolment
Can be verbalizable in the narrative
eg. Student EnrolledIn Unit
Have 2 (binary)or more associated entities.(3-Ternary, up to n-ary for n
associated entities)
121
122. Relationships:
A relationship must be relevant. It should indicate
a structural, persistent (extending over time)
association between entities.
Students enrol in units selected from the
handbook.
A relationship should not usually indicate a
procedural event (one that occurs momentarily,
then is forgotten.).
Students read about units selected from the
handbook.
122
123. Relationships and the Worked
Example.
We can now deal with the order. The order is a relationship between
the Customer and the Item. It is for a set Quantity on a given Date.
Conceptual Schema
Customer# Stock#
Price
CUSTOMER ORDERS ITEM
Desc
Address
Colour
CustName
Qty Date
123
124. Second Worked Example: The
Agent
Analyze the data kept by the agent. Identify the entities,
attributes and the relationships. To start with look at the
nouns.
Customers may order products stocked by various suppliers
through the agent. The agent maintains a catalogue of what
products are available from suppliers. The price of a product
may depend on the supplier. Some products come in a variety of
colours independently of supplier. Suppliers ship directly to
customers and notify the agent only of the date and total.
Customers then pay each supplier through the agent. The agent
keeps records of all orders and payments, but is not interested
in maintaining detailed invoice lines.
124
125. Second Worked Example: The
Agent
The nouns are
Customers may order products stocked by various
suppliers through the agent. The agent maintains a
catalogue of what products are available from
suppliers. The price of a product may depend on the
supplier. Some products come in a variety of colours
independently of supplier. Suppliers ship directly to
customers and notify the agent only of the date and
total. Customers then pay each supplier through the
agent. The agent keeps records of all orders and
payments, but is not interested in maintaining
detailed invoice lines.
We have Customers, Products, Suppliers and an Agent.
How many Agents are there. This is the Data for the
Agent. There is only one instance. Hence we do not
model it.
125
126. The Agent:Additional Information
Customer#: 28 Date: Oct 3, 1996
Customer Name: Jill Hill
28 Fullview Lane, Glenvale
These forms Stock# Description Qty
can tell us 156 Cup of Tea 4
234 Pussy Cat 2
more
information
about the way
the business Manufacturer: Hill Creat Industries
runs. Address: 23 Highhill Blvd, Sumpend
Stock# Description Price
156 Cup of Tea 1
234 Pussy Cat 25
Manufacturer: Hill Creat Industries
Address: 23 Highhill Blvd, Sumpend
Customer#: 28 Shipment Date: Oct 9, 1996
Customer Name: Jill Hill
Total 54
126
127. The Agent:Additional Information
•Notice that the forms also tell us the following additional
facts:
•A Customer has a Cust#, Name and Address. The Supplier
has a Name and Address and the stock has a Stock#,
Description and Price.
•An order is made on a Date and is for the one Customer for
many items. It also has the number of each item ordered.
•The shipping docket has the Date of shipping, both the
Customers and Suppliers details along with the total price of
the goods delivered.
•Try yourself to represent this in a diagram with the strong
entities and the relationships between them.
127
128. The Agent: Strong Entities
The Strong Entities
Each of the Entities below are strong. They have a
Natural Identity and are Existent Independent.
They are completely identifiable by their attributes
Name
Address Stock#
Cust# {Colour}
CUSTOMER
PRODUCT
SUPPLIER
Tradename Address
128
129. The Agent: Relationships
The Customer orders a Quantity of a particular product. All
products are supplied from a Supplier at a price.
Name Stock#
Address Qty {Colour}
Cust#
CUSTOMER PRODUCT
ORDERS
ER
Diagram
AVAILABLE
FROM
Price
SUPPLIER
Tradename Address 129
130. The Agent: Final Solution
The Product is shipped from the Supplier to the Customer on a
Date with a total cost for the goods, and the Customer pays the
Supplier on a Date an amount (which could be the amount for a
number of shipments)
Name Barcode
Address Qty {Colour}
CUSTOMER PRODUCT
ORDERS
Paydate ER
PAID Diagram
Amount
AVAILABLE
Date
FROM
RECEIVED
FROM Total Price
SUPPLIER
Tradename
130
131. Entity Relationship Analysis 2
We will now concentrate on the following areas of good ERM
Cardinality and Participation Constraints
Expanding to Weak Entities
Identifying Weak Entities
Derived Attributes and Relationships
Ternary Relationships
131
132. These are Steps 4,5 & 6 from
the Original Diagram
Unidentified Strong entities Unattched Attributes
weak
entities
4 & 5
Determine Identified 7
Relationships constraints and weak Identify
attach attributes entities weak entities
6
Expand attributed Entity-Relationship
relationships, Weak Entities
Diagram
domain sharing &
multivalued attributes
132
133. Step4. Determine constraints:
Cardinality(How many participate
To complete this we “fix a single instance at one end and
ask how many (one or many) are involved at the other end”.
Look at the relationship where the Customer Orders an
Item. Consider a single Customer. Can they order many
items at the one time? Yes We have seen this. So we
position a crows foot (<) at the point where the line touches
the Entity Item. We then ask if an Item can be ordered by
many Customers? Yes So agin we place a crows foot at the
Customers end.
ORDERS
CUSTOMER ITEM
From left to right-A Cust can order many Items
From right to left- An Item can be ordered by many Cust
133
134. Step4. Determine constraints:
Cardinality.
Again to complete this task we “Fix a
single instance at one end and ask how
many (one or many) are involved at the
CUSTOMER
other end”.
All of the Customers live in a City. A Customer
can only live in one City(unless they are
politicians) In this case we must place a single
straight line (|) at the intersection of the LIVES IN
relationship line and the Entity City. However,
a city can have many Customers. We show this
by placing crows foot (>) at the end near the
Customer
CITY
134
135. Step4. The Resulting ER with the
Cardinality Constraints in Place
ORDERS
CUSTOMER ITEM
Many CUSTOMERs
can ORDER an Many ITEMs
ITEM. can be {Colour}
ORDERed by
LIVES INMany CUSTOMERs a An ITEM
can LIVE IN a CUSTOMER. can have
CITY.
many
Colours.
A CUSTOMER can
LIVE IN only one
CITY CITY.
135
136. Step4.Determine constraints:
Participation.
Again, we “Fix a single instance at one end and ask if any must
(might or must) be involved at the other end”.
We ask “Does the Customer have to order an Item? Well,
some would say that they do not they are not Customers! But
we know that we must be able to recognise our Customers
even though at present they do not have an order with us. So,
in this case they do not have to place an order. This is then
not mandatory, and we show it by placing the O beside the
cardinality constraint. An Item does not have to be on an
order as well, so it also gets the O notation.
ORDERS
CUSTOMER ITEM
136
137. Step4.Determine constraints:
Participation.
This is also the case for the Customer living
in the City. Does the customer have to live in
the City? In this case Yes, as we class all
areas as being within a City. Hence we place
the “|” symbol beside the cardinality
CUSTOMER
constraint next to the Entity City. The next
one is difficult. Does a City have to have a
Customer living in it. You might think No
here, but are you prepared to record all of
the cities in the world just to make sure? LIVES IN
Common sense tells us that we have to make
this mandatory so we only keep a record of
the cities where our Customers live.
CITY
137
138. Step4. The Resulting ER with the
Participation Constraints in Place
ORDERS
CUSTOMER ITEM
An ITEM might be
ordered by a
CUSTOMER.
A CUSTOMER might
LIVES IN CITY must have
A order a ITEM.
a CUSTOMER LIVing
IN it.
A CUSTOMER
must LIVE IN a
CITY CITY.
138
139. Step4. Determine constraints:
Validation by Population.
CUSTOMER ITEM
ORDERS
Cust# An important method of
{Colour}
evaluating the proposed model
LIVES IN is to populate with instances Stock#
that demonstrate that the
constraints that you have
identified will work.
CITY CityName
139
140. Step4. Tables Created to Validate
CUSTOMER ITEM
ORDERS
Cust# Stock#
Cust# 12 77 {Colour}
LIVES IN 23 77 Stock#
CityName Cust# 12 88
Ayr 12 99
Ayr 23 13
Tully 13 Stock# Colour
77 Pink
CITY CityName 77 Blue
140
141. Step5. Attach remaining attributes
to entities and relationships.
In the previous lectures we looked at a worked problem with a Customer
ordering an Item. Here we were able to identify Entities from the narration.
Next we also listed the attributes which helped us identify the Strong Entities.
We noticed that there were some Attributes, Qty and Date, left that could not
be attached to any of the strong entities. They, in fact, belong to the
Relationship that was associated with the two Entities.
Customer# Stock#
ORDERS Price
CUSTOMER ITEM Desc
Address Colour
CustName
Qty Date
141
142. Step5. Attach remaining attributes
to entities and relationships.
The quantity attribute cannot be attached
to the Customer, as the Customer will
order different quantities of various items
at any time. It cannot also be attached to
the Item. It must therefore be attached
to the relationship between them, being
the order. This is also the situation for the
Date that the order was placed.
142
143. Step5. Attach remaining attributes
to entities and relationships.
Conceptual Schema
Customer# Stock#
Price
CUSTOMER ORDERS ITEM
Desc
Address Qty Date
{Colour}
CustName
143
144. Step6.Expand multi-valued attributes,
domain sharing attributes and binary
relationship attributes.
Once we have identified the Strong Entities,
Relationships and attached all Attributes to either the
Strong Entities or Relationships, we are required to
expand the diagram as much as possible to permit us to
complete the process. This requires us to move in 2
directions. We must first look at all of the binary
relationships to see what the cardinality constraints
are between them. If they are “many-to-many” they
must be carefully considered and expanded where
appropriate.
We then must look at what we call Multi-valued
Attributes and Domain Sharing Attributes. The process
is shown on the following diagram. 144
145. Step6 Entity-Relationship
Diagram
Many-to-many Multi-valued Attributes
Relationships with Attributes Domain Sharing Attributes
Expand
Expand Multi-valued and
relationships domain sharing
with attributes attributes
Associative Entities Characteristic Entities
Dependent Entities
145