CHAPTER 11. Data Normalization

Size: px
Start display at page:

Download "CHAPTER 11. Data Normalization"

Transcription

1 CHAPTER 11 Data Normalization

2 CHAPTER OBJECTIVES How the relational model works How to build use-case models for predicting data usage How to construct entity-relationship diagrams to model your data How to build multi-table databases How joins are used to connect tables How to build a link table to model many-to-many relationships How to optimize your table design for later programming

3 DESIGNING A DATABASE A relational database stores data in a set of tables each of which stores several pieces of data about a single entity such as books, authors, customers, etc. So, for example, the bookstore database might have tables for books, authors, customers, vendors, orders, and orderlines. The books and authors table schemas might be: books(isbn, title, authorid, yearwritten, price, numberonhand) authors(id, lastname, firstname, address, phone, , website) An example books record: (' ', 'For Whom the Bell Tolls', 15, 1940, 19.80, 3) A (fictional) example authors record: (15, 'Hemingway', 'Ernest', '123 Elm Street, Oak Park, Illinois', ' ', 'ernest@hemingway.com', ' The beauty of each table containing data about only one entity is that it eliminates redundancy. For example, each time we add a new book by Hemingway, we need to specify that he is the author, but we would not want to have to re-enter his address, phone, etc. as we would if the author data was stored in the books table.

4 DESIGNING A DATABASE CONT However, with the data stored in different tables, if we want to query the database for a particular title, it's author, and the author's phone number, we need a way to merge the data from the books and authors tables. This we can do in the SELECT statement by connecting each book to it's author with the authorid field as follows: SELECT title, firstname, lastname, phone FROM books, authors WHERE books.authorid = authors.id AND title = 'desiredtitle' The books.authorid field, a foreign key, links each book to its author with the authors.id field, the primary key of the authors table. We say the tables have a relationship. When we connect two tables with a common field like this, it effectively extends each books record with its authors record. The query can thus access fields in both tables. By similar means we can merge more than two tables.

5 DEFINING RULES FOR A GOOD DATA DESIGN Data developers have come up with a list of rules for creating well-behaved databases: Break your data into multiple tables. Make no field with a list of entries. Do not duplicate data. Make each table describe only one entity. Don t store information that should be calculated instead. Create a single primary key field for each table.

6 NORMALIZING YOUR DATA The basic concept of normalization is to break down a database into a series of tables. If each of these tables is designed correctly, the database is less likely to have the sorts of problems described so far.

7 FIRST NORMAL FORM: ELIMINATE LISTED FIELDS A table is in first normal form if and only if it represents a relation. It does not allow nulls or duplicate rows. Eliminate listed fields IE: Specialty field

8 SECOND NORMAL FORM: ELIMINATE REDUNDANCIES A table is in second normal form (2NF) only if it is in 1NF and all nonkey fields are dependent entirely on the candidate key, not just part of it. The next step is to deal with all the potential redundancy issues. These mainly occur because data is entered more than one time. To fix this, you need to build new tables. The agent table could be further improved by moving all data about operations to another table.

9 THIRD NORMAL FORM: ENSURE FUNCTIONAL DEPENDENCY A table is in 3NF if it is in 2NF and has no transitive dependencies on the candidate key. For a table to be in the third normal form, that table must have a single primary key and every field in the table must relate only to that key. For example, the description field is a description of the operation, not the agent, so it belongs in the operation table. In the third phase of normalization, you look through each piece of table data and ensure that it directly relates to the table in which it s placed. If not, either move it to a more appropriate table or build a new table for it.

10 BUILDING YOUR DATA TABLES After designing the data according to the rules of normalization, you are ready to build sample data tables in SQL. It pays to build your tables carefully to avoid problems. Tip: Build all your tables in an SQL script so I can easily rebuild your database if your programs mess up the data structure. And add plenty of sample data in the script.

11 SQL SCRIPT: HOUSE KEEPING The code specifies the database and deletes all tables if they already existed. This behavior ensures that it start with a fresh version of the data. This is also ideal for testing, since you can begin each test with a database in a known state.

12 SQL SCRIPT: CREATING THE AGENT TABLE Recall that the first field in a table is usually called the primary key. Primary keys must be unique and each record must have one. I named each primary key according to a special convention. Primary key names always begin with the table name and end with ID. I added this convention because it makes things easier when I write programs to work with this data. The NOT NULL modifier requires you to put a value in the field. In practice, this ensures that all records of this table must have a primary key. The AUTO_INCREMENT identifier is a special tool that allows MySQL to pick a new value for this field if no value is specified. This will ensure that all entries are unique. In fact, when AUTO_INCREMENT is set, you cannot manually add a value to the field. I added an indicator at the end of the CREATE TABLE statement to indicate that agentid is the primary key of the agent table. The FOREIGN KEY reference indicates that the operationid field acts as a reference to the operation table. Some databases use this information to reinforce relationships. Even if the database does not use this information, it can be useful documentation for the purpose of the field.

13 INSERTING A VALUE INTO THE AGENT TABLE The INSERT statements for the agent table have one new trick made possible by the primary key s AUTO_INCREMENT designation. INSERT INTO agent VALUES( null, 'Bond', 1, ' ' ); The primary key is initialized with the value null. This might be surprising because primary keys are explicitly designed to never contain a null value. Since the agentid field is set to AUTO_INCREMENT, the null value is automatically replaced with an unused integer.

14 INTRODUCING SQL FUNCTIONS SQL has a number of functions built in, which allow you to manipulate the data in various ways.

15 CONVERTING NUMBER OF DAYS TO A DATE Most of the standard math operations work in SQL, but there s a better way. You can convert the number of days back to a date with the FROM_DAYS() function as in Table SELECT name, NOW(), birthday, DATEDIFF(NOW(), birthday) as daysold, FROM_DAYS(DATEDIFF(NOW(), birthday)) FROM agent;

16 CONCATENATING TO BUILD THE AGE FIELD Concatenate values back to one field SELECT name, birthday, CONCAT( YEAR(FROM_DAYS(DATEDIFF(NOW(), birthday))), ' years, ', MONTH(FROM_DAYS(DATEDIFF(NOW(), birthday))), ' months') as age Bond FROM agent;

17 READING Recommended Reading Textbook Example: Building a View Page

18 CODE EXAMPLES FOR THIS CHAPTER The only file that we really need for this chapter is the buildspy.sql SQL script file. Since the ciswebs server will not serve a file with a.sql extension, a copy has been saved as buildspy.sql.txt. A few modifications were made to this file so that it also works on newer versions of MySQL. See the comments at the beginning of the file for more information. ph11withmods.zip is a ZIP folder of the examples, both original and modified versions. Chapter 11 examples

tablename ORDER BY column ASC tablename ORDER BY column DESC sortingorder, } The WHERE and ORDER BY clauses can be combined in one

tablename ORDER BY column ASC tablename ORDER BY column DESC sortingorder, } The WHERE and ORDER BY clauses can be combined in one } The result of a query can be sorted in ascending or descending order using the optional ORDER BY clause. The simplest form of an ORDER BY clause is SELECT columnname1, columnname2, FROM tablename ORDER

More information

Normalization in DBMS

Normalization in DBMS Unit 4: Normalization 4.1. Need of Normalization (Consequences of Bad Design-Insert, Update & Delete Anomalies) 4.2. Normalization 4.2.1. First Normal Form 4.2.2. Second Normal Form 4.2.3. Third Normal

More information

Relational model. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Relational model. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Relational model Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Relational database model Data are represented as a mathematical relation (subset of cartesian product) of attribute domains

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 11: Connection to Databases Lecture Contents 2 What is a database? Relational databases Cases study: A Books Database Querying

More information

Creating the Data Layer

Creating the Data Layer Creating the Data Layer When interacting with any system it is always useful if it remembers all the settings and changes between visits. For example, Facebook has the details of your login and any conversations

More information

Normalization Rule. First Normal Form (1NF) Normalization rule are divided into following normal form. 1. First Normal Form. 2. Second Normal Form

Normalization Rule. First Normal Form (1NF) Normalization rule are divided into following normal form. 1. First Normal Form. 2. Second Normal Form Normalization Rule Normalization rule are divided into following normal form. 1. First Normal Form 2. Second Normal Form 3. Third Normal Form 4. BCNF First Normal Form (1NF) As per First Normal Form, no

More information

THE RELATIONAL DATABASE MODEL

THE RELATIONAL DATABASE MODEL THE RELATIONAL DATABASE MODEL Introduction to relational DB Basic Objects of relational model Properties of relation Representation of ER model to relation Keys Relational Integrity Rules Functional Dependencies

More information

MIS2502: Data Analytics Relational Data Modeling. Jing Gong

MIS2502: Data Analytics Relational Data Modeling. Jing Gong MIS2502: Data Analytics Relational Data Modeling Jing Gong gong@temple.edu http://community.mis.temple.edu/gong Where we are Now we re here Data entry Transactional Database Data extraction Analytical

More information

MIS2502: Data Analytics Relational Data Modeling. Jing Gong

MIS2502: Data Analytics Relational Data Modeling. Jing Gong MIS2502: Data Analytics Relational Data Modeling Jing Gong gong@temple.edu http://community.mis.temple.edu/gong Where we are Now we re here Data entry Transactional Database Data extraction Analytical

More information

8) A top-to-bottom relationship among the items in a database is established by a

8) A top-to-bottom relationship among the items in a database is established by a MULTIPLE CHOICE QUESTIONS IN DBMS (unit-1 to unit-4) 1) ER model is used in phase a) conceptual database b) schema refinement c) physical refinement d) applications and security 2) The ER model is relevant

More information

How to design a database

How to design a database Chapter 16 How to design a database A database system is modeled after a real-word system 2017, Mike Murach & Associates, Inc. C 16, Slide 1 2017, Mike Murach & Associates, Inc. C 16, Slide 4 Objectives

More information

T-SQL Training: T-SQL for SQL Server for Developers

T-SQL Training: T-SQL for SQL Server for Developers Duration: 3 days T-SQL Training Overview T-SQL for SQL Server for Developers training teaches developers all the Transact-SQL skills they need to develop queries and views, and manipulate data in a SQL

More information

MySQL. A practical introduction to database design

MySQL. A practical introduction to database design MySQL A practical introduction to database design Dr. Chris Tomlinson Bioinformatics Data Science Group, Room 126, Sir Alexander Fleming Building chris.tomlinson@imperial.ac.uk Database Classes 24/09/18

More information

Introduction to Databases and SQL

Introduction to Databases and SQL Introduction to Databases and SQL Files vs Databases In the last chapter you learned how your PHP scripts can use external files to store and retrieve data. Although files do a great job in many circumstances,

More information

Test Bank For A Guide To Mysql 1st Edition By Pratt And Last

Test Bank For A Guide To Mysql 1st Edition By Pratt And Last Test Bank For A Guide To Mysql 1st Edition By Pratt And Last Link full download test bank: https://digitalcontentmarket.org/download/test-bank-for-a-guide-to-mysql-1st-edition-bypratt-and-last/ Link full

More information

Link download full of Solution Manual:

Link download full of Solution Manual: Test Bank for A Guide to MySQL 1st Edition by Pratt and Last Link download full: http://testbankair.com/download/test-bank-for-a-guide-to-mysql-1st-edition-by-prattand-last/ Link download full of Solution

More information

Database Systems. Answers

Database Systems. Answers Database Systems Question @ Answers Question 1 What are the most important directories in the MySQL installation? Bin Executable Data Database data Docs Database documentation Question 2 What is the primary

More information

Chapter 3B Objectives. Relational Set Operators. Relational Set Operators. Relational Algebra Operations

Chapter 3B Objectives. Relational Set Operators. Relational Set Operators. Relational Algebra Operations Chapter 3B Objectives Relational Set Operators Learn About relational database operators SELECT & DIFFERENCE PROJECT & JOIN UNION PRODUCT INTERSECT DIVIDE The Database Meta Objects the data dictionary

More information

Test Bank for A Guide to SQL 9th Edition by Pratt

Test Bank for A Guide to SQL 9th Edition by Pratt Test Bank for A Guide to SQL 9th Edition by Pratt Link full download: https://testbankservice.com/download/test-bank-for-a-guideto-sql-9th-edition-by-pratt Chapter 2: Database Design Fundamentals True

More information

OVERVIEW OF RELATIONAL DATABASES: KEYS

OVERVIEW OF RELATIONAL DATABASES: KEYS OVERVIEW OF RELATIONAL DATABASES: KEYS Keys (typically called ID s in the Sierra Database) come in two varieties, and they define the relationship between tables. Primary Key Foreign Key OVERVIEW OF DATABASE

More information

30. Structured Query Language (SQL)

30. Structured Query Language (SQL) 30. Structured Query Language (SQL) Java Fall 2009 Instructor: Dr. Masoud Yaghini Outline SQL query keywords Basic SELECT Query WHERE Clause ORDER BY Clause INNER JOIN Clause INSERT Statement UPDATE Statement

More information

DC62 Database management system JUNE 2013

DC62 Database management system JUNE 2013 Q2 (a) Explain the differences between conceptual & external schema. Ans2 a. Page Number 24 of textbook. Q2 (b) Describe the four components of a database system. A database system is composed of four

More information

How to speed up a database which has gotten slow

How to speed up a database which has gotten slow Triad Area, NC USA E-mail: info@geniusone.com Web: http://geniusone.com How to speed up a database which has gotten slow hardware OS database parameters Blob fields Indices table design / table contents

More information

For each layer there is typically a one- to- one relationship between geographic features (point, line, or polygon) and records in a table

For each layer there is typically a one- to- one relationship between geographic features (point, line, or polygon) and records in a table For each layer there is typically a one- to- one relationship between geographic features (point, line, or polygon) and records in a table Common components of a database: Attribute (or item or field)

More information

Normalisation Chapter2 Contents

Normalisation Chapter2 Contents Contents Objective... 64 Superkey & Candidate Keys... 65 Primary, Alternate and Foreign Keys... 65 Functional Dependence... 67 Using Instances... 70 Normalisation Introduction... 70 Normalisation Problems...

More information

A Guide to SQL, Ninth Edition. Chapter Two Database Design Fundamentals

A Guide to SQL, Ninth Edition. Chapter Two Database Design Fundamentals A Guide to SQL, Ninth Edition Chapter Two Database Design Fundamentals Objectives Understand the terms entity, attribute, and relationship Understand the terms relation and relational database Understand

More information

3/3/2008. Announcements. A Table with a View (continued) Fields (Attributes) and Primary Keys. Video. Keys Primary & Foreign Primary/Foreign Key

3/3/2008. Announcements. A Table with a View (continued) Fields (Attributes) and Primary Keys. Video. Keys Primary & Foreign Primary/Foreign Key Announcements Quiz will cover chapter 16 in Fluency Nothing in QuickStart Read Chapter 17 for Wednesday Project 3 3A due Friday before 11pm 3B due Monday, March 17 before 11pm A Table with a View (continued)

More information

Learning Objectives. Description. Your AU Expert(s) Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co.

Learning Objectives. Description. Your AU Expert(s) Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co. PL17257 JavaScript and PLM: Empowering the User Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co. Learning Objectives Using items and setting data in a Workspace Setting Data in Related Workspaces

More information

CISC 3140 (CIS 20.2) Design & Implementation of Software Application II

CISC 3140 (CIS 20.2) Design & Implementation of Software Application II CISC 3140 (CIS 20.2) Design & Implementation of Software Application II Instructor : M. Meyer Email Address: meyer@sci.brooklyn.cuny.edu Course Page: http://www.sci.brooklyn.cuny.edu/~meyer/ CISC3140-Meyer-lec4

More information

Chapter 1 SQL and Data

Chapter 1 SQL and Data Chapter 1 SQL and Data What is SQL? Structured Query Language An industry-standard language used to access & manipulate data stored in a relational database E. F. Codd, 1970 s IBM 2 What is Oracle? A relational

More information

Database Management Systems

Database Management Systems Database Management Systems Associate Professor Dr. Raed Ibraheem Hamed University of Human Development, College of Science and Technology Computer Science Department 2015 2016 Department of Computer Science

More information

TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL

TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL We have spent the first part of the course learning Excel: importing files, cleaning, sorting, filtering, pivot tables and exporting

More information

CS 2340 Objects and Design

CS 2340 Objects and Design CS 2340 Objects and Design SQL Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design SQL 1 / 26 1 1 The material in this lecture is taken from, Using SQLite3,

More information

ACS-3902 Fall Ron McFadyen 3D21 Slides are based on chapter 5 (7 th edition) (chapter 3 in 6 th edition)

ACS-3902 Fall Ron McFadyen 3D21 Slides are based on chapter 5 (7 th edition) (chapter 3 in 6 th edition) ACS-3902 Fall 2016 Ron McFadyen 3D21 ron.mcfadyen@acs.uwinnipeg.ca Slides are based on chapter 5 (7 th edition) (chapter 3 in 6 th edition) 1 The Relational Data Model and Relational Database Constraints

More information

MySQL. Rheinisch-Westfälische Technische Hochschule Aachen Data Management and Data Exploration Group Univ.-Prof. Dr. rer. nat.

MySQL. Rheinisch-Westfälische Technische Hochschule Aachen Data Management and Data Exploration Group Univ.-Prof. Dr. rer. nat. Rheinisch-Westfälische Technische Hochschule Aachen Data Management and Data Exploration Group Univ.-Prof. Dr. rer. nat. Thomas Seidl Pro Seminar MySQL Student: Mohamed El Sherif June 2012 Supervision:

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Arif Sari Email: arif@arifsari.net Course Website: www.arifsari.net/courses/ Slide 1 Adapted from slides 2005 John Wiley & Sons, Inc. Slide 2 Course Textbook: Systems Analysis

More information

Today Learning outcomes LO2

Today Learning outcomes LO2 2015 2016 Phil Smith Today Learning outcomes LO2 On successful completion of this unit you will: 1. Be able to design and implement relational database systems. 2. Requirements. 3. User Interface. I am

More information

The Relational Model

The Relational Model The Relational Model What is the Relational Model Relations Domain Constraints SQL Integrity Constraints Translating an ER diagram to the Relational Model and SQL Views A relational database consists

More information

Writing High Performance SQL Statements. Tim Sharp July 14, 2014

Writing High Performance SQL Statements. Tim Sharp July 14, 2014 Writing High Performance SQL Statements Tim Sharp July 14, 2014 Introduction Tim Sharp Technical Account Manager Percona since 2013 16 years working with Databases Optimum SQL Performance Schema Indices

More information

1. The process of determining the particular tables and columns that will comprise a database is known as database design.

1. The process of determining the particular tables and columns that will comprise a database is known as database design. True / False 1. The process of determining the particular tables and columns that will comprise a database is known as database design. REFERENCES: 21 2. A tabular database is a collection of tables. REFERENCES:

More information

TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL

TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL TUTORIAL FOR IMPORTING OTTAWA FIRE HYDRANT PARKING VIOLATION DATA INTO MYSQL We have spent the first part of the course learning Excel: importing files, cleaning, sorting, filtering, pivot tables and exporting

More information

More about Databases. Topics. More Taxonomy. And more Taxonomy. Computer Literacy 1 Lecture 18 30/10/2008

More about Databases. Topics. More Taxonomy. And more Taxonomy. Computer Literacy 1 Lecture 18 30/10/2008 Topics More about Databases Computer Literacy Lecture 8 30/0/008 Terminology What s a database for again? Relational Database Model Samples Database Integrity Data mining More Taxonomy According to more

More information

New Perspectives on Access Module 5: Creating Advanced Queries and Enhancing Table Design

New Perspectives on Access Module 5: Creating Advanced Queries and Enhancing Table Design New Perspectives on Access 2016 Module 5: Creating Advanced Queries and Enhancing Table Design 1 Objectives Session 5.1 Review object naming standards Use the Like, In, Not, and & operators in queries

More information

MIS2502: Data Analytics Relational Data Modeling (2) Alvin Zuyin Zheng

MIS2502: Data Analytics Relational Data Modeling (2) Alvin Zuyin Zheng MIS2502: Data Analytics Relational Data Modeling (2) Alvin Zuyin Zheng zheng@temple.edu http://community.mis.temple.edu/zuyinzheng/ Let Move From Model to Implementation Implementing the ERD As a database

More information

205CDE Developing the Modern Web. Assignment 2 Server Side Scripting. Scenario D: Bookshop

205CDE Developing the Modern Web. Assignment 2 Server Side Scripting. Scenario D: Bookshop 205CDE Developing the Modern Web Assignment 2 Server Side Scripting Scenario D: Bookshop Introduction This assignment was written using PHP programming language for interactions with the website and the

More information

ch02 True/False Indicate whether the statement is true or false.

ch02 True/False Indicate whether the statement is true or false. ch02 True/False Indicate whether the statement is true or false. 1. The process of determining the particular tables and columns that will comprise a database is known as database design. 2. A tabular

More information

EE221 Databases Practicals Manual

EE221 Databases Practicals Manual EE221 Databases Practicals Manual Lab 1 An Introduction to SQL Lab 2 Database Creation and Querying using SQL Assignment Data Analysis, Database Design, Implementation and Relation Normalisation School

More information

Conceptual Design. The Entity-Relationship (ER) Model

Conceptual Design. The Entity-Relationship (ER) Model Conceptual Design. The Entity-Relationship (ER) Model CS430/630 Lecture 12 Slides based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke Database Design Overview Conceptual design The Entity-Relationship

More information

Graphical Joins in More Detail

Graphical Joins in More Detail Graphical Joins in More Detail Using the Connector, data is made available through the addition of containers and relevant expressions. The source of the underlying data can be a Table, a View, a Stored

More information

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas SQL SQL Functionality stands for Structured Query Language sometimes pronounced sequel a very-high-level (declarative) language user specifies what is wanted, not how to find it number of standards original

More information

Introduction to Databases. MySQL Syntax Guide: Day 1

Introduction to Databases. MySQL Syntax Guide: Day 1 Introduction to Databases Question What type of database type does Shodor use? Answers A relational database What DBMS does Shodor use? MySQL MySQL Syntax Guide: Day 1 SQL MySQL Syntax Results Building

More information

Relational Model. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan

Relational Model. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan Relational Model DCS COMSATS Institute of Information Technology Rab Nawaz Jadoon Assistant Professor COMSATS IIT, Abbottabad Pakistan Management Information Systems (MIS) Relational Model Relational Data

More information

Creating databases using SQL Server Management Studio Express

Creating databases using SQL Server Management Studio Express Creating databases using SQL Server Management Studio Express With the release of SQL Server 2005 Express Edition, TI students and professionals began to have an efficient, professional and cheap solution

More information

normalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model

normalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model Database Design Section1 - Introduction 1-1 Introduction to the Oracle Academy o Give examples of jobs, salaries, and opportunities that are possible by participating in the Academy. o Explain how your

More information

Relational Data Model

Relational Data Model Relational Data Model 1. Relational data model Information models try to put the real-world information complexity in a framework that can be easily understood. Data models must capture data structure

More information

INFO 1103 Homework Project 2

INFO 1103 Homework Project 2 INFO 1103 Homework Project 2 February 15, 2019 Due March 13, 2019, at the end of the lecture period. 1 Introduction In this project, you will design and create the appropriate tables for a version of the

More information

SQL stands for Structured Query Language. SQL is the lingua franca

SQL stands for Structured Query Language. SQL is the lingua franca Chapter 3: Database for $100, Please In This Chapter Understanding some basic database concepts Taking a quick look at SQL Creating tables Selecting data Joining data Updating and deleting data SQL stands

More information

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model. Chapter 6: Entity-Relationship Model The Next Step: Designing DB Schema Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common

More information

Objectives Definition iti of terms List five properties of relations State two properties of candidate keys Define first, second, and third normal for

Objectives Definition iti of terms List five properties of relations State two properties of candidate keys Define first, second, and third normal for Chapter 5: Logical Database Design and the Relational Model Modern Database Management 9 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Heikki Topi 2009 Pearson Education, Inc. Publishing as Prentice

More information

EGCI 321: Database Systems. Dr. Tanasanee Phienthrakul

EGCI 321: Database Systems. Dr. Tanasanee Phienthrakul 1 EGCI 321: Database Systems Dr. Tanasanee Phienthrakul 2 Chapter 10 Data Definition Language (DDL) 3 Basic SQL SQL language Considered one of the major reasons for the commercial success of relational

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems Lecture 3 Relational Model & Languages Part-1 September 7, 2018 Sam Siewert More Embedded Systems Summer - Analog, Digital, Firmware, Software Reasons to Consider Catch

More information

Learning outcomes. On successful completion of this unit you will: 1. Understand data models and database technologies.

Learning outcomes. On successful completion of this unit you will: 1. Understand data models and database technologies. 2015-2016 Phil Smith Learning outcomes On successful completion of this unit you will: 1. Understand data models and database technologies. (Assignment 1) Recap and setting the scene Before we get to Normalisation

More information

Computer Science 597A Fall 2008 First Take-home Exam Out: 4:20PM Monday November 10, 2008 Due: 3:00PM SHARP Wednesday, November 12, 2008

Computer Science 597A Fall 2008 First Take-home Exam Out: 4:20PM Monday November 10, 2008 Due: 3:00PM SHARP Wednesday, November 12, 2008 Computer Science 597A Fall 2008 First Take-home Exam Out: 4:20PM Monday November 10, 2008 Due: 3:00PM SHARP Wednesday, November 12, 2008 Instructions: This exam must be entirely your own work. Do not consult

More information

Chapter 9: Object-Based Databases

Chapter 9: Object-Based Databases Chapter 9: Object-Based Databases Chapter 9: Object-Based Databases Complex Data Types and Object Orientation Structured Data Types and Inheritance in SQL Table Inheritance Array and Multiset Types in

More information

Chapter Five Physical Database Design

Chapter Five Physical Database Design Chapter Five Physical Database Design 1 Objectives Understand Purpose of physical database design Describe the physical database design process Choose storage formats for attributes Describe indexes and

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 6 Normalization of Database Tables

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 6 Normalization of Database Tables Database Systems: Design, Implementation, and Management Tenth Edition Chapter 6 Normalization of Database Tables Objectives In this chapter, students will learn: What normalization is and what role it

More information

2. E/R Design Considerations

2. E/R Design Considerations 2. E/R Design Considerations 32 What you will learn in this section Relationships cont d: multiplicity, multi-way Design considerations Conversion to SQL 33 Multiplicity of E/R Relationships Multiplicity

More information

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes. Chapter 6: Entity-Relationship Model Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common data organization model The Relational

More information

The Entity-Relationship Model (ER Model) - Part 2

The Entity-Relationship Model (ER Model) - Part 2 Lecture 4 The Entity-Relationship Model (ER Model) - Part 2 By Michael Hahsler Based on slides for CS145 Introduction to Databases (Stanford) Lecture 4 > Section 2 What you will learn about in this section

More information

relational Key-value Graph Object Document

relational Key-value Graph Object Document NoSQL Databases Earlier We have spent most of our time with the relational DB model so far. There are other models: Key-value: a hash table Graph: stores graph-like structures efficiently Object: good

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

Seven Interesting Data Warehouse Ideas

Seven Interesting Data Warehouse Ideas Seven Interesting Data Warehouse Ideas Learning Objectives Take a detailed dive into some interesting ideas and concepts that can enhance your data warehouse or reporting database. Review some examples

More information

Oracle Database 10g: Introduction to SQL

Oracle Database 10g: Introduction to SQL ORACLE UNIVERSITY CONTACT US: 00 9714 390 9000 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database

More information

An Incredibly Brief Introduction to Relational Databases: Appendix B - Learning Rails

An Incredibly Brief Introduction to Relational Databases: Appendix B - Learning Rails O'Reilly Published on O'Reilly (http://oreilly.com/) See this if you're having trouble printing code examples An Incredibly Brief Introduction to Relational Databases: Appendix B - Learning Rails by Edd

More information

You Don t Need a DBA. What Every PHP Developer Should Know about Database Development. Maggie Nelson php works 2007

You Don t Need a DBA. What Every PHP Developer Should Know about Database Development. Maggie Nelson php works 2007 You Don t Need a DBA or What Every PHP Developer Should Know about Database Development Maggie Nelson php works 2007 Database Developer PHP Developer = DBA System Administrator DB Developer: Help! My database

More information

Faculty of Environment & Technology

Faculty of Environment & Technology Faculty of Environment & Technology Academic Year: 2012/13 Module Leader: Module Code: Title of Module: Prakash Chatterjee UFCE8K-15-M Data Management Examination Date: TBA Examination Start time: TBA

More information

Database Management

Database Management Database Management - 2011 Model Answers 1. a. A data model should comprise a structural part, an integrity part and a manipulative part. The relational model provides standard definitions for all three

More information

CSC 337. Database Design and More Commands. Rick Mercer. https://www.database-genius.com/

CSC 337. Database Design and More Commands. Rick Mercer. https://www.database-genius.com/ CSC 337 https://www.database-genius.com/ Database Design and More Commands Rick Mercer Relational Data The R is RDBMS A relational data base spreads data across tables Data is joined using a key common

More information

INTERMEDIATE SQL GOING BEYOND THE SELECT. Created by Brian Duffey

INTERMEDIATE SQL GOING BEYOND THE SELECT. Created by Brian Duffey INTERMEDIATE SQL GOING BEYOND THE SELECT Created by Brian Duffey WHO I AM Brian Duffey 3 years consultant at michaels, ross, and cole 9+ years SQL user What have I used SQL for? ROADMAP Introduction 1.

More information

CMPE 131 Software Engineering. Database Introduction

CMPE 131 Software Engineering. Database Introduction Presented By Melvin Ch ng CMPE 131 Software Engineering September 14, 2017 Database Introduction Ruby on Rails ORM Agenda Database Management System (DBMS) SQL vs NoSQL Relational Database Introduction

More information

Chapter 11: Data Management Layer Design

Chapter 11: Data Management Layer Design Systems Analysis and Design With UML 2.0 An Object-Oriented Oriented Approach, Second Edition Chapter 11: Data Management Layer Design Alan Dennis, Barbara Wixom, and David Tegarden 2005 John Wiley & Sons,

More information

SAMPLE FINAL EXAM SPRING/2H SESSION 2017

SAMPLE FINAL EXAM SPRING/2H SESSION 2017 SAMPLE FINAL EXAM SPRING/2H SESSION 2017 School of Computing, Engineering and Mathematics Complete your details in this section when instructed by the Exam Supervisor at the start of the exam. You should

More information

1D D0-541 CIW v5 Database Design Specialist Version 1.7

1D D0-541 CIW v5 Database Design Specialist Version 1.7 1D0-541 CIW v5 Database Design Specialist Version 1.7 QUESTION NO: 1 With regard to databases, what is normalization? A. The process of reducing the cardinality of a relation B. The process of organizing

More information

II. Structured Query Language (SQL)

II. Structured Query Language (SQL) II. Structured Query Language (SQL) Lecture Topics ffl Basic concepts and operations of the relational model. ffl The relational algebra. ffl The SQL query language. CS448/648 II - 1 Basic Relational Concepts

More information

Relational Data Model. Christopher Simpkins

Relational Data Model. Christopher Simpkins Relational Data Model Christopher Simpkins 1 / 22 Relational Data Model A relation schema R(A a,..., A n ) is a relation name R and a list of attributes A 1,..., A n. Each attribute A i is the name of

More information

CS 327E Lecture 2. Shirley Cohen. January 27, 2016

CS 327E Lecture 2. Shirley Cohen. January 27, 2016 CS 327E Lecture 2 Shirley Cohen January 27, 2016 Agenda Announcements Homework for today Reading Quiz Concept Questions Homework for next time Announcements Lecture slides and notes will be posted on the

More information

Introduction. Identifying potential problems, update anomalies, in the design of a relational database Methods for correcting these problems

Introduction. Identifying potential problems, update anomalies, in the design of a relational database Methods for correcting these problems 6 Normalization Objectives Discuss functional dependence and primary keys Define first normal form, second normal form, and fourth normal form Describe the problems associated with tables (relations) that

More information

Structured Query Language. ALTERing and SELECTing

Structured Query Language. ALTERing and SELECTing Structured Query Language ALTERing and SELECTing Altering the table structure SQL: ALTER Table SQL: Alter Table The ALTER TABLE command allows you to add, modify, or drop a column from an existing table.

More information

INF3707. Tutorial Letter 201/02/2018. Database Design and Implementation. Semesters 2: Assignment 01 solutions. School of Computing

INF3707. Tutorial Letter 201/02/2018. Database Design and Implementation. Semesters 2: Assignment 01 solutions. School of Computing INF3707/201/02/2018 Tutorial Letter 201/02/2018 Database Design and Implementation INF3707 Semesters 2: Assignment 01 solutions School of Computing This tutorial letter contains important information about

More information

Database Fundamentals

Database Fundamentals Database Fundamentals presented to NYPHP May 22, 2007 by Kenneth Downs Secure Data Software, Inc. ken@secdat.com www.secdat.com www.andromeda project.org Pre Relational In the bad old days, every program

More information

A practical introduction to database design

A practical introduction to database design A practical introduction to database design Dr. Chris Tomlinson Bioinformatics Data Science Group, Room 126, Sir Alexander Fleming Building chris.tomlinson@imperial.ac.uk Computer Skills Classes 17/01/19

More information

SQL - Subqueries and. Schema. Chapter 3.4 V4.0. Napier University

SQL - Subqueries and. Schema. Chapter 3.4 V4.0. Napier University SQL - Subqueries and Chapter 3.4 V4.0 Copyright @ Napier University Schema Subqueries Subquery one SELECT statement inside another Used in the WHERE clause Subqueries can return many rows. Subqueries can

More information

Fundamentals of Information Systems, Seventh Edition

Fundamentals of Information Systems, Seventh Edition Chapter 3 Data Centers, and Business Intelligence 1 Why Learn About Database Systems, Data Centers, and Business Intelligence? Database: A database is an organized collection of data. Databases also help

More information

Relational Model and Relational Algebra. Rose-Hulman Institute of Technology Curt Clifton

Relational Model and Relational Algebra. Rose-Hulman Institute of Technology Curt Clifton Relational Model and Relational Algebra Rose-Hulman Institute of Technology Curt Clifton Administrative Notes Grading Weights Schedule Updated Review ER Design Techniques Avoid redundancy and don t duplicate

More information

Solutions Manual for A Guide to MySQL 1st Edition by Pratt and Last

Solutions Manual for A Guide to MySQL 1st Edition by Pratt and Last Solutions Manual for A Guide to MySQL 1st Edition by Pratt and Last Link download full: http://testbankair.com/download/solutions-manual-for-a-guideto-mysql-1st-edition-by-pratt-and-last/ Click link below

More information

MIS2502: Review for Exam 2. JaeHwuen Jung

MIS2502: Review for Exam 2. JaeHwuen Jung MIS2502: Review for Exam 2 JaeHwuen Jung jaejung@temple.edu http://community.mis.temple.edu/jaejung Overview Date/Time: Wednesday, Mar 28, in class (50 minutes) Place: Regular classroom Please arrive 5

More information

Data about data is database Select correct option: True False Partially True None of the Above

Data about data is database Select correct option: True False Partially True None of the Above Within a table, each primary key value. is a minimal super key is always the first field in each table must be numeric must be unique Foreign Key is A field in a table that matches a key field in another

More information

MTA Database Administrator Fundamentals Course

MTA Database Administrator Fundamentals Course MTA Database Administrator Fundamentals Course Session 1 Section A: Database Tables Tables Representing Data with Tables SQL Server Management Studio Section B: Database Relationships Flat File Databases

More information

Create a simple database with MySQL

Create a simple database with MySQL Create a simple database with MySQL 1.Connect the MySQL server through MySQL Workbench You can achieve many database operations by typing the SQL langue into the Query panel, such as creating a database,

More information

DATABASES SQL INFOTEK SOLUTIONS TEAM

DATABASES SQL INFOTEK SOLUTIONS TEAM DATABASES SQL INFOTEK SOLUTIONS TEAM TRAINING@INFOTEK-SOLUTIONS.COM Databases 1. Introduction in databases 2. Relational databases (SQL databases) 3. Database management system (DBMS) 4. Database design

More information