Database. Basic Definitions Database: A collection of related data. Database Management System (DBMS): A software package/ system to facilitate the creation.

Slides:



Advertisements
Similar presentations
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
Advertisements

Relational Database. Relational database: a set of relations Relation: made up of 2 parts: − Schema : specifies the name of relations, plus name and type.
BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
Overview Begin 6:00 Quiz15 mins6:15 Review Table Terms25 mins6:40 Short Break10 mins6:50 SQL: Creating Tables60 mins7:50 Break10 mins8:00 Lab – Creating.
Introduction to Structured Query Language (SQL)
Mapping an ERD to a Relational Database To map an ERD to a relational database, five rules are defined to govern how tables are constructed. 1)Rule for.
Introduction to Structured Query Language (SQL)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Review Database Application Development Access Database Development ER-diagram Forms Reports Queries.
Fundamentals, Design, and Implementation, 9/e Chapter 6 Introduction to Structured Query Language (SQL)
Structured Query Language Chapter Three (Excerpts) DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
Database Systems: Design, Implementation, & Management, 5 th Edition, Rob & Coronel 1 Data Models: Degrees of Data Abstraction l Modified ANSI/SPARC Framework.
Introduction to Structured Query Language (SQL)
Structured Query Language Chapter Three DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
APPENDIX C DESIGNING DATABASES
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Exam 2 Review Dr. Bernard Chen Ph.D. University of Central Arkansas.
Data Modeling Using the Entity-Relationship Model
Data Modeling Using the Entity-Relationship Model
DeSiamorewww.desiamore.com/ifm1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Concepts of Database Management, Fifth Edition
Database. Basic Definitions Database: A collection of related data. Database Management System (DBMS): A software package/ system to facilitate the creation.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Database. Basic Definitions Database: A collection of related data. Database Management System (DBMS): A software package/ system to facilitate the creation.
Review: Application of Database Systems
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Concepts and Terminology Introduction to Database.
SQL Structured Query Language Programming Course.
Chapter 6 SQL: Data Manipulation (Advanced Commands) Pearson Education © 2009.
Copyright 2008 McGraw-Hill Ryerson 1 TECHNOLOGY PLUG-IN T5 DESIGNING DATABASE APPLICATIONS.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Plug-In T5: Designing Database Applications Business Driven Technology.
Structure Query Language SQL. Database Terminology Employee ID 3 3 Last name Small First name Tony 5 5 Smith James
Chapter 4 Entity Relationship (ER) Modeling.  ER model forms the basis of an ER diagram  ERD represents conceptual database as viewed by end user 
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Initial Design of Entity Types for the COMPANY Database Schema Based on the requirements, we can identify four initial entity types in the COMPANY database:
3 & 4 1 Chapters 3 and 4 Drawing ERDs October 16, 2006 Week 3.
Msigwaemhttp//:msigwaem.ueuo.com/1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
SQL Basics. What is SQL? SQL stands for Structured Query Language. SQL lets you access and manipulate databases.
3 & 4 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel Keys Consists of one or more attributes that determine other.
Data modeling using the entity-relationship model Chapter 3 Objectives How entities, tuples, attributes and relationships among entities are represented.
Database Lab Lecture 1. Database Languages Data definition language ( DDL ) Data definition language –defines data types and the relationships among them.
Database Fundamental & Design by A.Surasit Samaisut Copyrights : All Rights Reserved.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
Lecture 8 – SQL Joins – assemble new views from existing tables INNER JOIN’s The Cartesian Product Theta Joins and Equi-joins Self Joins Natural Join.
1/18/00CSE 711 data mining1 What is SQL? Query language for structural databases (esp. RDB) Structured Query Language Originated from Sequel 2 by Chamberlin.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences The Relational.
DatabaseIM ISU1 Fundamentals of Database Systems Chapter 3 Data Modeling Using Entity-Relationship Model.
Data Modeling Using the Entity-Relationship (ER) Data Model.
1 MySQL and SQL. 2 Topics  Introducing Relational Databases  Terminology  Managing Databases MySQL and SQL.
Database: SQL, MySQL, LINQ and Java DB © by Pearson Education, Inc. All Rights Reserved.
7 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel 7.6 Advanced Select Queries SQL provides useful functions that.
Constraints and Views Chap. 3-5 continued (7 th ed. 5-7)
LM 5 Introduction to SQL MISM 4135 Instructor: Dr. Lei Li.
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
Chapter 71 The Relational Data Model, Relational Constraints & The Relational Algebra.
SQL SQL Ayshah I. Almugahwi Maryam J. Alkhalifa
Data Modeling Using the Entity- Relationship (ER) Model
Comp 1100 Entity-Relationship (ER) Model
Teacher Workshop Database Design Pearson Education © 2014.
Logical Database Design and the Rational Model
Entity-Relationship Model
Tables and Their Characteristics
Quiz Questions Q.1 An entity set that does not have sufficient attributes to form a primary key is a (A) strong entity set. (B) weak entity set. (C) simple.
CS4222 Principles of Database System
Contents Preface I Introduction Lesson Objectives I-2
Mapping an ERD to a Relational Database
Introduction to SQL Server and the Structure Query Language
Presentation transcript:

Database

Basic Definitions Database: A collection of related data. Database Management System (DBMS): A software package/ system to facilitate the creation and maintenance of a computerized database. Database System: The DBMS software together with the data itself. Sometimes, the applications are also included. ( Software + Database ) 2

3

Relational Database 4

Data Models High Level or Conceptual data models provide concepts that are close to the way many users perceive data, entities, attributes and relationships. (Ex. ERD) Physical data models describes how data is stored in the computer and the access path needed to access and search for data. 5

Entity Relationship Diagram [ERD]

Entity Relationship Modeling Entity-Relationship Diagram (ERD): Identifies information required by the business by displaying the relevant entities and the relationships between them. 7

Entity Relationship Modeling, (Cont.) In building a data model a number of questions must be addressed: –What entities need to be described in the model? –What characteristics or attributes of those entities need to be recorded? –Can an attribute or a set of attributes be identified that will uniquely identify one specific occurrence of an entity? –What associations or relationships exist between entities? 8

Entity An entity is a thing that exists and is distinguishable -- an object, something in the environment. Examples : book, item, student Types of entities: –Regular entity (Strong entity): if its existence does not depend on another entity. –Weak entity: if its existence depends on another entity. 9

Attribute An entity has a set of attributes Attribute defines property of an entity It is given a name Attribute has value for each entity and value may change over time Example : BOOK entity has the following attributes ( TITLE, ISBN, AUTHOR, PUBLISHER, YEAR, PRICE) 10

Attribute Types Simple: Each entity has a single atomic value for the attribute ; e.g., SSN Composite: The attribute may be composed of several components ; e.g., Name (FirstName, MiddleName, LastName) Multi-valued: The attribute may has more than one value for a given entity; e.g., a book may have many authors Derived attributes: The attributes whose values are generated from other attributes using calculations ; e.g., Age is derived by subtracting current date from birthdate 11

Primary Key: an attribute of an entity type for which each entity must have a unique value; e.g., SSN of EMPLOYEE. Composite key: e.g., ID is a key of the applicant entity type with components (National_ID, Application_no) Foreign Key (referential attributes): Attributes that define relationships between entities. The attributes of a foreign key in one entity are the attributes of a primary key in another entity; e.g., Department ID is the primary key of Department and Department ID is a foreign key of Employee defining the relationship "Employee works for Department" Key Attribute 12

Relationships Relationships: A relationship is a connection between entity classes. The cardinality of a relationship indicates the number of instances in entity class E1 that can or must be associated with instances in entity class E2. –One-One Relationship: (citizen – passport, –One-Many Relationship: (student-Advisor, Customer-Order) –Many- Many Relationship: (e.g. Student- Organization, Order-Products) –Recursive Relationships: A relationship in which the same entity participates more than once. 13

Binary relationship: between two entity sets –e.g., binary relationship set STUDY between STUDENT and COURSE Ternary relationship: among three entity sets –e.g., ternary relationship STUDY could be ternary among STUDENT, COURSE and TEACHER –A relationship may have attributes e.g., attribute GRADE and SEMESTER for STUDY Relationships, (cont.) 14

Optional And Mandatory 15

Optional And Mandatory, (cont.) 16

ERD Notations Rectangles represent ENTITY CLASSES Circles represent ATTRIBUTES Diamonds represent RELATIONSHIPS Arcs connect entities to relationships. Arcs are also used to connect attributes to entities. Some styles of entity-relationship diagrams use arrows and double arrows to indicate the one and the many in relationships. Underline - Key attributes of entities are underlined. 17

Summary Of ERD Notations 18

Example

Add Some Attributes To Entities

Exercise A company is organized into departments. Each department has a unique name, a unique number, and a particular employee who manages the department. A department may have several locations. A department may control a number of projects, each of which has a unique name, a unique number, and a single location. A project must controlled by department. We store employee’s name, social security number, address, salary, gender and birth date. 21

An employee must be assigned to one department and must work on one or more projects, which are not necessarily controlled by the same department. We keep track of the number of hours per week that an employee works on each project. We also keep track of the direct supervisor of each employee. We want to keep track of the dependents of each employee for insurance purposes. We keep each dependent’s first name, gender, birth date and relationship to that employee. Exercise, (cont.) 22

23

ERD Mapping to Tables

ER-to-Relational Mapping Step 1: Mapping of Regular Entity Types Step 2: Mapping of Weak Entity Types Step 3: Mapping of Binary 1:1 Relation Types Step 4: Mapping of Binary 1:N Relationship Types. Step 5: Mapping of Binary M:N Relationship Types. Step 6: Mapping of Multi-valued attributes. Step 7: Mapping of N-ary Relationship Types. 25

Step 1: Mapping of Regular Entity Types Create table for each regular (strong) entity type. Choose one of key attributes to be the primary key. 26

Step 2: Mapping of Weak Entity Types Create table for each weak entity. Add foreign key that correspond to the owner entity type. Choose the primary key : ( FK + weak entity Partial PK if any). 27

Step 3: Mapping of Binary 1:1 Relation Types 1.Merged two tables if both sides are Mandatory. 2.Add FK into table with the Mandatory relationship to represent optional side. 3.Create a third table with just the keys from the two tables in addition to the two table if both sides are optional. 28

Step 4: Mapping of Binary 1:N Relationship Types If the N-side is mandatory, add FK to N-side table Add any simple attributes of relationship as column to N-side table. If the N-side is optional, create a third table The of the new table consists of a concatenation of the keys of the related entities. Include any attributes that were in the relationship. 29

Step 5: Mapping of Binary M:N Relationship Types Create a new third table Add FKs to the new table for both parent tables Add simple attributes of relationship to the new table if any. 30

Step 6: Mapping of Multi-valued attributes Create new table for each multi-valued attribute Table will include two columns: one for multi-valued attribute + FK column. 31

Step 7: Mapping of N-ary Relationship Types If n > 2 then : Create a new third table Add FKs to the new table for all parent tables Add simple attributes of relationship to the new table if any. 32

Mapping of N-ary Relationship (Example) 33

Referential Integrity Referential Integrity requires that: –The columns of a foreign key must match in type the columns of the primary key in the referenced table. –The values of the foreign key columns in each row of the referencing table must match the values of the corresponding primary key columns for a row in the referenced table. 34

Referential Integrity, (cont.) 35

No Action –only primary keys with no matching foreign keys can be deleted/Updated –the change to the referenced (primary key) table is not performed. Cascade where the foreign key in the case matching is deleted/updated. –For update (the primary key column values have been modified), the corresponding foreign key columns for referencing rows are set to the new values. –For delete (the primary key row is deleted), the referencing rows (foreign key) are deleted Referential Integrity, (cont.) 36

SET NULL –All matching foreign keys are set to null, and delete/update then takes place in other relation. SET Default –all matching foreign keys are set to default value, and delete/update then takes place in other relation. Referential Integrity, (cont.) 37

38

Mapping Result 39

SQL Basics

 Create Table  Drop Table  Alter Table 41 Data Definition Language (DDL)

Create Table The Create table statement is used to create a table in a database and to add constraints. –Constraints: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK DEFAULT 42

CREATE TABLE person( id int, name varchar(50) not null, varchar(50), age int default 18, Dept_ID int, primary key(id), check(age>17), unique( ), foreign key (Dept_ID) REFERENCES Department(Dept_ID)) Create Table Example 43

Drop Table Used to remove a relation (base table) and its definition The relation can no longer be used in queries, updates, or any other commands since its description no longer exists Example: DROP TABLE DEPENDENT; 44

Alter Table Used to modify the table design like add a column, modify a column or delete a column. Examples: ALTER TABLE EMPLOYEE ADD JOB VARCHAR(12) ALTER TABLE EMPLOYEE ALTER COLUMN JOB VARCHAR(50) ALTER TABLE EMPLOYEE DROP COLUMN JOB 45

 SELECT o Extracts data from a database  INSERT INTO o Inserts new data into a database  UPDATE o Updates data in a database  DELETE o Deletes data from a database 46 Data Manipulation Language (DML)

INSERT INTO Statement First form: It doesn't specify the column names where the data will be inserted, only their values. –The previous form the attribute values should be listed in the same order as the attributes were specified in table. 47 INSERT INTO Employee VALUES ( 4,'Ahmed', ‘Ali', , ' ', '15 Ali fahmy St.Giza‘, ‘M’,1300,223344,10 )

INSERT INTO Statement, (cont.) Second form: It specifies both the column names and the values to be inserted 48 INSERT INTO Employee ( SSN, Lname, fname ) VALUES ( 5, ‘Ahmed', ‘Ali')

To insert a new row into table with identity value, we will not have to specify a value for the identity column (a unique value will be added automatically): The Result: insert into Department values('DP2','56733') insert into Department(Dname,MGRSSN) values('DP2','56733') INSERT INTO Statement, (cont.) 49

UPDATE Statement The UPDATE statement is used to update existing records in a table. SQL Syntax –UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value Note: The WHERE clause specifies which record or records that should be updated. If you omit the WHERE clause, all records will be updated! UPDATE Person SET Address='18 Abaas El 3akaad St. Nasr City.Cairo', City='Cairo' WHERE Lname=‘Amr' AND Fname='Ali' 50

DELETE Statement The DELETE statement is used to delete rows in a table. 51 delete from Employee where Lname='Brown’

SELECT Statement Basic form of the SQL SELECT statement is called a mapping or a SELECT-FROM-WHERE block SELECT FROM WHERE – is a list of attribute names whose values are to be retrieved by the query – is a list of the relation names required to process the query – is a conditional (Boolean) expression that identifies the tuples to be retrieved by the query 52

Or: SELECT Statement Examples SELECT Lname,Fname FROM Person SELECT Person.Lname, Person.Fname FROM Person SELECT * FROM Person WHERE City='Sandnes' 53

LIKE Operator Example SELECT * FROM Person WHERE City LIKE 's%' SELECT * FROM Person WHERE City LIKE '%s' SELECT * FROM Person WHERE City LIKE '_andnes' Used to represent one character 54

SQL AND & OR Operators AND operator displays records when all conditions are true. OR operator displays records when any condition is true. 55

SQL AND & OR Operators Example 56

IN Operator Example Retrieve data of all employees whose social security numbers number is , or –Query : SELECT * FROM Employee WHERE SSN IN (112233,512463) 57

IN Operator Example Retrieve data of all employees whose social security numbers number is not , or –Query : SELECT * FROM Employee WHERE SSN not IN (112233,512463) 58

The BETWEEN Operator The BETWEEN operator is used in a WHERE clause to select a range of data between two values. Retrieve the employees with salary between 1000 and 2000 –Query : SELECT * FROM EMPLOYEE WHERE SALARY BETWEEN 1000 AND

NULLS IN SQL QUERIES SQL allows queries that check if a value is NULL. SQL uses IS or IS NOT to compare Nulls. Retrieve the names of all employees who do not have supervisors. –Query : SELECT FNAME, LNAME FROM EMPLOYEE WHERESUPERSSN IS NULL 60

DISTINCT Keyword The keyword DISTINCT is used to eliminate duplicate tuples in a query result. 61

SQL Alias It used to give table or column(s) another name. 62

If we want to display column called full name that concatenate between first name and last name. SQL Alias Example 63

When we want to concatenate between columns, all columns should have the same data type. If we want to concatenate between two columns that have different data type, use convert() function that convert from data type to another. Note 64

SQL TOP Clause It is used to specify the number of records to return. Retrieve the first two record from EMPLOYEE table 65

ORDER BY Keyword Ordering of rows displayed Opposite order is given by DESC 66

Joining Data from Multiple Tables 67

Join Types  Inner Join –The INNER JOIN keyword return rows when there is at least one match in both tables.  Outer Join –Includes left, right, or full outer joins  Cross Join –Also called Cartesian products  Self Join –Refers to any join used to join a table to itself 68

Joining Data Using Inner Join The INNER JOIN returns rows when there is at least one match in both tables. 69

Joining Data Using Inner Join Example Retrieve list of all employees with their departments 70

For each project located in Cairo City, find the project name, the controlling department name Example: Applying Additional Conditions to join 71

The LEFT JOIN keyword returns all rows from the left table (table_name1), even if there are no matches in the right table (table_name2). There are no employees in department 30. LEFT OUTER JOIN 72

73 LEFT OUTER JOIN Example

The RIGHT JOIN keyword returns all the rows from the right table (table_name2), even if there are no matches in the left table (table_name1). 74 RIGHT OUTER JOIN

75 RIGHT OUTER JOIN Example

FULL JOIN Example: The FULL JOIN keyword return rows when there is a match in one of the table. 76

Cartesian Product A Cartesian product is formed when: –A join condition is omitted –All rows in the first table are joined to all rows in the second table To avoid a Cartesian product, always include a valid join condition 77

Generating a Cartesian Product EMPLOYEES (6 rows) DEPARTMENTS (3 rows) Cartesian product: 6 x 3 = 18 rows 78

Creating Cross Join The CROSS JOIN clause produces the cross- product of two tables. This is also called a Cartesian product between the two tables. SELECT Employee.Fname,Employee.SSN, Department.DNumber FROM Department Cross JOIN Employee 79

Self-Join Using the ON Clause EMPLOYEE EMPLOYEE (Worker)EMPLOYEE (Supervisors) Superssn in the WORKER table is equal to SSN in the Supervisors table 80

Self-Joins Using the ON Clause Retrieve list of all employees with their supervisors 81

Joining Three or More Tables FROM clauses can contain multiple Join specifications which allows many tables to be joined in a single Query 82

Joining Three or More Tables Example For each project, find the project number, the controlling department name, the department manager last name 83

Functions 84

SQL NULL Functions ISNULL( ) Function It is used to specify how to display null values in column(s) Note: the value type should be the same data type of column name 85

SQL NULL Functions Examples 86

Aggregate Functions Group functions operate on sets of rows to give one result per group Maximum salary in EMPLOYEES table 87

Types of Group Functions avg: average value count: number of values min: minimum value max: maximum value sum: sum of values Group functions 88

Using the AVG and SUM Functions The AVG() function returns the average value of a numeric column The SUM() function returns the total sum of a numeric column Find the average and the summation of salary among all employees. 89

SQL COUNT Function COUNT(*) returns the number of rows in a table COUNT(column) returns the number of rows with non- null values for the column 90

Using the MIN and MAX Functions 91 The MAX() function returns the largest value of the selected column. The MIN() function returns the smallest value of the selected column You can use MIN and MAX for numeric, character, and date data types

92 Using the MIN and MAX Functions Examples

Example Find the maximum salary, the minimum salary, and the average salary among employees who work for the ‘DP1' department. 93

Group Functions and Null Values Group functions ignore null values in the column 94

95 Creating Groups of Data In many cases, we want to apply the aggregate functions to subgroups of rows in a table SQL has a GROUP BY clause for specifying the grouping attributes, which must also appear in the SELECT-clause

Using the GROUP BY Clause on Multiple Columns For each department, retrieve the department number, the number of employees in the department 96

Illegal Queries Using Group Functions Any column or expression in the SELECT list that is not an aggregate function must be in the GROUP BY clause Column missing in the GROUP BY clause 97

HAVING clause Specifies a search condition for a group Cannot use the WHERE clause to restrict groups 98

Summary SELECT column, group_function FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING group_condition] [ORDER BY column]; 99 In this lesson, you should have learned how to: –Use the group functions COUNT, MAX, MIN, SUM and AVG –Write queries that use the GROUP BY clause –Write queries that use the HAVING clause

String Functions String functions LOWER UPPER CONCAT SUBSTRING REPLACE LTRIM Case-manipulation functions Character-manipulation functions 100

Case-Manipulation Functions These functions convert case for character strings: FunctionResult LOWER('SQL Course')sql course UPPER('SQL Course')SQL COURSE Example: 101

Character-Manipulation Functions These functions manipulate character strings: FunctionResult SUBSTRING('HelloWorld',1,5)Hello REPLACE ('JACK and JUE','J','BL') BLACK and BLUE lTRIM(' Hello')Hello 102

103 Character-Manipulation Functions Examples

Date Functions It is built in function used to get date or time FunctionResult GETDATE ( )returns current date and time DATENAME ( datepart, date ) Returns a character string that represents the specified datepart of the specified date DATEDIFF ( datepart, startdate, enddate ) Returns the number of date or time datepart boundaries that are crossed between two specified dates. DATEADD (datepart, number, date ) Returns a new datetime value by adding an interval to the specified datepart of the specified date. 104

GETDATE Function Example select current date and time 105

DATENAME Function DATENAME ( datepart, date ) Datepart Is the part of the date to return. datepartAbbreviations yearyy, yyyy, year monthmm, m, MONTH dayD,DD, DAY HourHH MinuteMI SecondSS 106

select current month from Employee table we want to know the employees who born in septemper 107 DATENAME Function Example

DATEDIFF Example Display the last name and birthrate of every employee whose age is greater than DATEDIFF ( datepart, startdate, enddate )

DATEADD Example add 5 days to each Bdate. 109 DATEADD (datepart, number, date )

Thank You