Ch2 entity-relationship model(筆記+習題)

Review

1、數據庫設計過程可分爲以下6步:需求分析、概念設計、邏輯設計、模式細化、物理設計、安全設計
2、ER圖模型中,真實世界的物體用entity(實體)表示。實體集是結構相同的實體的集合。每一個實體集都有一組attribute(屬性),稱爲key(鍵),可用於唯一標識每個實體。
3、兩個或以上的實體間的聯繫稱爲relationship(關係)。關係集是來自相同實體集的實體的聯繫的集合。關係也可以有attribute(屬性)。
4、實體集S和關係集間的key constraint(鍵約束)通過要求每個S中的實體只能參與最多一個關係,限制了關係的instances(實例)。
5、ER圖的開發涉及重要的建模策略。要決定是使用屬性還是實體集,實體還是關係集,二元還是三元關係還是聚合,必須要對建模的問題有透徹的瞭解。
6、對於大型企業來說,概念設計是特別具有挑戰性的,因爲涉及到被許多組管理的不同來源的數據。

EXERCISES

Exercise 2.1 Explain the following terms briefly: 
attribute(屬性):a property or description of an entity。
domain(域):a set of possible values for an attribute。
entity(實體):an object in the real world that is distinguishable from other objects such as the green dragon toy。
relationship(關係):an association among two or more entities。
entity set(實體集):a collection of similar entities such as all of the toys in the toy department。
relationship set(關係集):a collection of similar relationships。
one-to-many relationship(一對多關係):a key constraint that indicates that one entity can be associated with many of another entity。
many-to-many relationship(多對多關係):a key constraint that indicates that many of one entity can be associated with many of another entity。
participation constraint(參與約束):a participation constraint determines whether relationships must involve certain entities。
overlap constraint(重疊約束):決定是否允許兩個子類包含同一實體
covering constraint(覆蓋約束):決定父類是否完全包含在子類集中
weak entity set(弱實體):an entity that can not be identified uniquely without considering some primary key attributes of another identifying owner entity。
aggregation(聚合):a feature of the entity relationship model that allows a relationship set to participate in another relationship set。
role indicator(角色指示器):If an entity set plays more than one role,role indicators describe the different purpose in the relationship。


Exercise 2.2 A university database contains information about professors (identified by social security number, or SSN) and courses (identified by courseid). Professors teach courses;each of the following situations concerns the Teaches relationship set. For each situation,draw an ER diagram that describes it (assuming that no further constraints hold).
1.can teach the same course in several semesters, and each offering must be recorded.


2. Professors can teach the same course in several semesters, and only the most recent such offering needs to be recorded. (Assume this condition applies in all subsequent questions.)


3. Every professor must teach some course.


4. Every professor teaches exactly one course (no more, no less).


5. Every professor teaches exactly one course (no more, no less), and every course must be taught by some professor.


6. Now suppose that certain courses can be taught by a team of professors jointly, but it is possible that no one professor in a team can teach the course. Model this situation,introducing additional entity sets and relationship sets if necessary.

 

Exercise 2.3 Consider the following information about a university database:
·Professors has an SSN, a name, an age, a rank, and a research specialty.
·Projects have a project number, a sponsor name (e.g., NSF), a starting date, an ending date, and a budget.
·Graduate students have an SSN, a name, an age, and a degree program (e.g., M.S. or Ph.D.).
·Each project is managed by one professor (known as the project's principal investigator).
·Each project is worked on by one or more professors (known as the project's co-investigators).
·Professors can manage and/or work on multiple projects.
·Each project is worked on by one or more graduate students (known as the project's research assistants).
·When graduate students work on a project, a professor must supervise their work on the project. Graduate students can work on multiple projects, in which case they will have a (potentially different) supervisor for each one.
·Departments a department number, a department name, and a main office.
·Departments have a professor (known as the chairman) who runs the department.
·Professors in one or more departments, and for each department that they work in, a time percentage is associated with their job.
·Graduate students have one major department in which they are working on their degree.
·Each graduate student has another, more senior graduate student (known as a student advisor) who advises him or her on what courses to take.

Design and draw an ER diagram that captures the information about the university. Use only the basic ER model here, that is, entities, relationships, and attributes. Be sure to indicate any key and participation constraints.

 

Exercise 2.4 A company database needs to store information about employees (identied by ssn, with salary and phone as attributes); departments (identied by dno, with dname and budget as attributes); and children of employees (with name and age as attributes). Employees work in departments; each department is managed by an employee; a child must be identied 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.

 

Exercise 2.5 Notown Records has decided to store information about musicians who perform on its albums (as well as other company data) in a database. The company has wisely chosen to hire you as a database designer (at your usual consulting fee of $2,500/day).
·Each musician that records at Notown has an SSN, a name, an address, and a phone
number. Poorly paid musicians often share the same address, and no address has more than one phone.
·Each instrument that is used in songs recorded at Notown has a name (e.g., guitar,
synthesizer, flute) and a musical key (e.g., C, B-flat, E-flat).
·Each album that is recorded on the Notown label has a title, a copyright date, a format(e.g., CD or MC), and an album identier.
·Each song recorded at Notown has a title and an author.
·Each musician may play several instruments, and a given instrument may be played by several musicians.
·Each album has a number of songs on it, but no song may appear on more than one
album.
·Each song is performed by one or more musicians, and a musician may perform a number of songs.
·Each album has exactly one musician who acts as its producer. A musician may produce several albums, of course.
Design a conceptual schema for Notown and draw an ER diagram for your schema. The following information describes the situation that the Notown database must model. Be sure to indicate all key and cardinality constraints and any assumptions that you make. Identify any constraints that you are unable to capture in the ER diagram and briefly explain why you could not express them.

 

Exercise 2.6 Computer Sciences Department frequent fliers have been complaining to Dane County Airport ocials about the poor organization at the airport. As a result, the ocials have decided that all information related to the airport should be organized using a DBMS,and you've been hired to design the database. Your rst task is to organize the information about all the airplanes that are stationed and maintained at the airport. The relevant information is as follows:
·Every airplane has a registration number, and each airplane is of a specic model.
·The airport accommodates a number of airplane models, and each model is identied by a model number (e.g., DC-10) and has a capacity and a weight.
·A number of technicians work at the airport. You need to store the name, SSN,address,phone number, and salary of each technician.
·Each technician is an expert on one or more plane model(s), and his or her expertise may overlap with that of other technicians. This information about technicians must also be recorded.
·Traffc controllers must have an annual medical examination. For each trac controller,you must store the date of the most recent exam.
·All airport employees (including technicians) belong to a union. You must store the union membership number of each employee. You can assume that each employee is uniquely identied by the social security number.
·The airport has a number of tests that are used periodically to ensure that airplanes are still airworthy. Each test has a Federal Aviation Administration (FAA) test number, a name, and a maximum possible score.
·The FAA requires the airport to keep track of each time that a given airplane is tested by a given technician using a given test. For each testing event, the information needed is the date, the number of hours the technician spent doing the test, and the score that the airplane received on the test.
1. Draw an ER diagram for the airport database. Be sure to indicate the various attributes of each entity and relationship set; also specify the key and participation constraints for each relationship set. Specify any necessary overlap and covering constraints as well (in English).


2. The FAA passes a regulation that tests on a plane must be conducted by a technician who is an expert on that model. How would you express this constraint in the ER diagram? If you can not express it, explain briefly.

You cannot note the expert technician constraint the FAA requires in an ER diagram.There is no notation for equivalence in an ER diagram and this is what is needed:the Expert relation must be equivalent to the Type relation.

 

Exercise 2.7 The Prescriptions-R-X chain of pharmacies has offered to give you a free lifetime supply of medicines if you design its database. Given the rising cost of health care, you agree. Here's the information that you gather:
·Patients are identified by an SSN, and their names, addresses, and ages must be recorded.
·Doctors are identified by an SSN. For each doctor, the name, specialty, and years of experience must be recorded.
·Each pharmaceutical company is identified by name and has a phone number.
·For each drug, the trade name and formula must be recorded. Each drug is sold by a given pharmaceutical company, and the trade name identies a drug uniquely from among the products of that company. If a pharmaceutical company is deleted, you need not keep track of its products any longer.
·Each pharmacy has a name, address, and phone number.
·Every patient has a primary physician. Every doctor has at least one patient.
·Each pharmacy sells several drugs and has a price for each. A drug could be sold at several pharmacies, and the price could vary from one pharmacy to another.
·Doctors prescribe drugs for patients. A doctor could prescribe one or more drugs for several patients, and a patient could obtain prescriptions from several doctors. Each prescription has a date and a quantity associated with it. You can assume that if a doctor prescribes the same drug for the same patient more than once, only the last such prescription needs to be stored.
·Pharmaceutical companies have long-term contracts with pharmacies. A pharmaceutical company can contract with several pharmacies, and a pharmacy can contract with several pharmaceutical companies. For each contract, you have to store a start date, an end date,and the text of the contract.
·Pharmacies appoint a supervisor for each contract. There must always be a supervisor for each contract, but the contract supervisor can change over the lifetime of the contract.
1. Draw an ER diagram that captures the above information. Identify any constraints that are not captured by the ER diagram.


2. How would your design change if each drug must be sold at a fixed price by all pharmacies?

If the drug is to be sold at a fixed price ,we can add the price attribute to the Drug entity set and eliminate the price from the Sell relationship set.
3. How would your design change if the design requirements change as follows: If a doctor prescribes the same drug for the same patient more than once, several such prescriptions may have to be stored.

The date information can no longer be modeled as an attribute of Prescription.We have to create a new entity set called Prescription date and make Prescription a 4-way relationship set that involves this additional entity set.

 

Exercise 2.8 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 `data base' 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. 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 classied 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. Each group is identied by a name (like those above) that describes the group. Finally, galleries keep information about customers. For each customer, galleries keep their unique name, address,
total amount of dollars they have spent in the gallery (very important!), and the artists and groups of art that each customer tends to like.
Draw the ER diagram for the database.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章