Practice exercises. Database design. Relational model. (Chapter 2, 3) презентация

Содержание


Презентации» Информатика» Practice exercises. Database design. Relational model. (Chapter 2, 3)
COP-5725 Practice Exercises
 Chapter 2: Database Design
 Chapter 3: Relational ModelExercise 2.4
 Problem
 A company database needs to store information aboutExercise 2.4
 Problem
 Employees work in departments; each department is managedExercise 2.4
 Solution
 First, we shall design the entities and relationships.
Exercise 2.4
 SolutionExercise 2.4
 Solution
 Now, we will design the constraints.
 “…each departmentExercise 2.4
 SolutionExercise 2.8
 Problem
 Although you always wanted to be an artist,Exercise 2.8
 Problem
 Galleries keep information about artists, their names (whichExercise 2.8
 Problem
 Each group is identified by a name (likeExercise 2.8
 Solution
 Like before, we begin with the entities andExercise 2.8
 Solution
 “Pieces of artwork are also classified into groupsExercise 2.8
 SolutionExercise 2.8
 Solution
 Now we look at constraints. 
 Although notExercise 2.8
 SolutionExercise 2.8
 Solution
 Suppose we had several piece of artwork withExercise 2.8
 SolutionExercise 3.14
 Problem
 Consider the scenario from Exercise 2.4, where youExercise 3.14
 ER Diagram from Exercise 2.4Exercise 3.14
 Solution
 First we begin with the entities “Employees” andExercise 3.14
 SolutionExercise 3.14
 Solution
 Next, we translate the relationships, Manages and Dependents.
Exercise 3.14
 SolutionExercise 3.14
 Solution
 Why did we make dno the primary keyExercise 3.14
 Solution
 Finally, we translate the weak entity “Child” andExercise 3.14
 SolutionExercise 3.18
 Problem
 Write SQL statements to create the corresponding relationsExercise 3.18
 ER Diagram from Exercise 2.8Exercise 3.18
 Solution
 The entities are translated similarly to Exercise 3.4.Exercise 3.18
 SolutionExercise 3.18
 SolutionExercise 3.18
 SolutionExercise 3.18
 SolutionExercise 3.8
 Problem
 Answer each of the following questions briefly. TheExercise 3.8
 Problem
 Emp(eid: integer, ename: string, age: integer, salary: real)
Exercise 3.8
 Solution for (1)
 	An example of a foreign constraintExercise 3.8
 Solution for (1)
 	Furthermore, when a user attempts toExercise 3.8
 Problem
 Emp(eid: integer, ename: string, age: integer, salary: real)
Exercise 3.8
 Solution for (2)
 Emp(eid: integer, ename: string, age: integer,Exercise 3.8
 Solution for (2)
 Dept(did: integer, dname: string, budget: real,Exercise 3.8
 Problem
 Emp(eid: integer, ename: string, age: integer, salary: real)
Exercise 3.8
 Problem
 Emp(eid: integer, ename: string, age: integer, salary: real)
Exercise 3.8
 Problem
 Emp(eid: integer, ename: string, age: integer, salary: real)
Exercise 3.8
 Problem
 Emp(eid: integer, ename: string, age: integer, salary: real)
Exercise 3.8
 Solution for (6)Exercise 3.8
 Solution for (6)
 What other actions can the system



Слайды и текст этой презентации
Слайд 1
Описание слайда:
COP-5725 Practice Exercises Chapter 2: Database Design Chapter 3: Relational Model


Слайд 2
Описание слайда:
Exercise 2.4 Problem A company database needs to store information about employees (identified by ssn, with salary and phone as attributes), departments (identified by dno, with dname and budget as attributes), and children of employees (with name and age as attributes).

Слайд 3
Описание слайда:
Exercise 2.4 Problem Employees work in departments; each department is managed by an employee; a child must be identified uniquely by name when the parent (who is an employee; assume that only one parent works for the company) is known. We are not interested in information about a child once the parent leaves the company. Draw an ER diagram that captures this information.

Слайд 4
Описание слайда:
Exercise 2.4 Solution First, we shall design the entities and relationships. “Employees work in departments…” “…each department is managed by an employee…” “…a child must be identified uniquely by name when the parent (who is an employee; assume that only one parent works for the company) is known.”

Слайд 5
Описание слайда:
Exercise 2.4 Solution

Слайд 6
Описание слайда:
Exercise 2.4 Solution Now, we will design the constraints. “…each department is managed by an employee…” “…a child must be identified uniquely by name when the parent (who is an employee; assume that only one parent works for the company) is known. “ “We are not interested in information about a child once the parent leaves the company.”

Слайд 7
Описание слайда:
Exercise 2.4 Solution

Слайд 8
Описание слайда:
Exercise 2.8 Problem Although you always wanted to be an artist, you ended up being an expert on databases because you love to cook data and you somehow confused database with data baste. Your old love is still there, however, so you set up a database company, ArtBase, that builds a product for art galleries. The core of this product is a database with a schema that captures all the information that galleries need to maintain.

Слайд 9
Описание слайда:
Exercise 2.8 Problem Galleries keep information about artists, their names (which are unique), birthplaces, age,and style of art. For each piece of artwork, the artist, the year it was made, its unique title, its type of art (e.g., painting, lithograph, sculpture, photograph), and its price must be stored. Pieces of artwork are also classified into groups of various kinds, for example, portraits, still lifes, works by Picasso, or works of the 19th century; a given piece may belong to more than one group.

Слайд 10
Описание слайда:
Exercise 2.8 Problem Each group is identified by a name (like those just given) that describes the group. Finally, galleries keep information about customers. For each customer, galleries keep that person’s unique name, address, total amount of dollars spent in the gallery (very important!), and the artists and groups of art that the customer tends to like. Draw the ER diagram for the database.

Слайд 11
Описание слайда:
Exercise 2.8 Solution Like before, we begin with the entities and relationships. “…artists, their names (which are unique), birthplaces, age, and style of art.” “For each piece of artwork, the artist, the year it was made, its unique title, its type of art … and its price must be stored.”

Слайд 12
Описание слайда:
Exercise 2.8 Solution “Pieces of artwork are also classified into groups of various kinds, … Each group is identified by a name (like those just given) that describes the group. “ For each customer, galleries keep that person’s unique name, address, total amount of dollars spent in the gallery (very important!), and the artists and groups of art that the customer tends to like.

Слайд 13
Описание слайда:
Exercise 2.8 Solution

Слайд 14
Описание слайда:
Exercise 2.8 Solution Now we look at constraints. Although not explicitly mentioned in the problem, we assume that each piece of artwork had to be painted by an artist. We also assume that each piece of artwork was created by exactly one artist.

Слайд 15
Описание слайда:
Exercise 2.8 Solution

Слайд 16
Описание слайда:
Exercise 2.8 Solution Suppose we had several piece of artwork with the same title, and we told them apart by artist? Example: “What is Love?” by Cheryl D, “What is Love?” by Joe Brown, etc.

Слайд 17
Описание слайда:
Exercise 2.8 Solution

Слайд 18
Описание слайда:
Exercise 3.14 Problem Consider the scenario from Exercise 2.4, where you designed an ER diagram for a company database. Write SQL statements to create the corresponding relations and capture as many of the constraints as possible. If you cannot capture some constraints, explain why.

Слайд 19
Описание слайда:
Exercise 3.14 ER Diagram from Exercise 2.4

Слайд 20
Описание слайда:
Exercise 3.14 Solution First we begin with the entities “Employees” and “Departments. Translating these to SQL is straightforward.

Слайд 21
Описание слайда:
Exercise 3.14 Solution

Слайд 22
Описание слайда:
Exercise 3.14 Solution Next, we translate the relationships, Manages and Dependents. We translate each these to a table mapping one entity to another. We also use foreign constraints to make sure every row in the relationship tables refers only to rows that exist in the entity tables.

Слайд 23
Описание слайда:
Exercise 3.14 Solution

Слайд 24
Описание слайда:
Exercise 3.14 Solution Why did we make dno the primary key for Manages? Since each department can have at most one manager, each dno can appear at most once in the Manages table, making it a key for Manages. Note that if we had made (ssn, dno) the key for Manages, a department could have more than one Manager.

Слайд 25
Описание слайда:
Exercise 3.14 Solution Finally, we translate the weak entity “Child” and its corresponding relationship “Dependent”

Слайд 26
Описание слайда:
Exercise 3.14 Solution

Слайд 27
Описание слайда:
Exercise 3.18 Problem Write SQL statements to create the corresponding relations to the ER diagram you designed for Exercise 2.8. If your translation cannot capture any constraints in the ER diagram, explain why.

Слайд 28
Описание слайда:
Exercise 3.18 ER Diagram from Exercise 2.8

Слайд 29
Описание слайда:
Exercise 3.18 Solution The entities are translated similarly to Exercise 3.4. Since these are fairly simple, we shall skip them. Now, we shall translate the relationships.

Слайд 30
Описание слайда:
Exercise 3.18 Solution

Слайд 31
Описание слайда:
Exercise 3.18 Solution

Слайд 32
Описание слайда:
Exercise 3.18 Solution

Слайд 33
Описание слайда:
Exercise 3.18 Solution

Слайд 34
Описание слайда:
Exercise 3.8 Problem Answer each of the following questions briefly. The questions are based on the following relational schema: Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pcttime: integer) Dept(did: integer, dname: string, budget: real, managerid: integer)

Слайд 35
Описание слайда:
Exercise 3.8 Problem Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pcttime: integer) Dept(did: integer, dname: string, budget: real, managerid: integer Give an example of a foreign key constraint that involves the Dept relation. What are the options for enforcing this constraint when a user attempts to delete a Dept tuple?

Слайд 36
Описание слайда:
Exercise 3.8 Solution for (1) An example of a foreign constraint that involves Dept is:

Слайд 37
Описание слайда:
Exercise 3.8 Solution for (1) Furthermore, when a user attempts to delete a tuple from Dept, we can also delete all Works tuples that refer to it. disallow the deletion of the Dept tuple if some Works tuple refers to it. for every Works tuple that refers to it, set the did field to the did of some (existing) ’default’ department. for every Works tuple that refers to it, set the did field to null.

Слайд 38
Описание слайда:
Exercise 3.8 Problem Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pcttime: integer) Dept(did: integer, dname: string, budget: real, managerid: integer Write the SQL statements required to create the preceding relations, including appropriate versions of all primary and foreign key integrity constraints.

Слайд 39
Описание слайда:
Exercise 3.8 Solution for (2) Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pcttime: integer)

Слайд 40
Описание слайда:
Exercise 3.8 Solution for (2) Dept(did: integer, dname: string, budget: real, managerid: integer

Слайд 41
Описание слайда:
Exercise 3.8 Problem Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pcttime: integer) Dept(did: integer, dname: string, budget: real, managerid: integer Define the Dept relation in SQL so that every department is guaranteed to have a manager.

Слайд 42
Описание слайда:
Exercise 3.8 Problem Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pcttime: integer) Dept(did: integer, dname: string, budget: real, managerid: integer Write an SQL statement to add John Doe as an employee with eid = 101, age = 32 and salary = 15, 000.

Слайд 43
Описание слайда:
Exercise 3.8 Problem Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pcttime: integer) Dept(did: integer, dname: string, budget: real, managerid: integer Write an SQL statement to give every employee a 10 percent raise.

Слайд 44
Описание слайда:
Exercise 3.8 Problem Emp(eid: integer, ename: string, age: integer, salary: real) Works(eid: integer, did: integer, pcttime: integer) Dept(did: integer, dname: string, budget: real, managerid: integer Write an Write an SQL statement to delete the Toy department. Given the referential integrity constraints you chose for this schema, explain what happens when this statement is executed.

Слайд 45
Описание слайда:
Exercise 3.8 Solution for (6)

Слайд 46
Описание слайда:
Exercise 3.8 Solution for (6) What other actions can the system take on deleting a Dept tuple? What are the pros and cons of each action? On delete set null On delete set default On delete cascade

Слайд 47
Описание слайда:


Скачать презентацию на тему Practice exercises. Database design. Relational model. (Chapter 2, 3) можно ниже:

Похожие презентации