ENM407_Chapter 3 _ 16 03 2015.pptx

advertisement
MODELLING THE DATA
STRUCTURE
Entity Modelling & Entity Relationship Diagrams
Hazırlayan
Yard.Doç.Dr. Zehra KAMIŞLI ÖZTÜRK
SSADM
(Structured System Analysis & Design Methodology - SSADM)
Data Flow Diagrams (DFD)
• DFDs show the processes, or functions, involved in a system.
• They don’t tell us much about the structure of the data.
entity model
(or Logical Data Model)
SSADM
Entity Modelling
• Entity Models
– Real data
– How the data connected?
SSADM
Entities
• things we might want to keep information about
– People like CUSTOMER
– Objects like PRODUCT
Swillbuckets Club
• MEMBERS
• RECIPES
• EVENTS
• ARTISTES
• SUPPLIER
• DRINK
Medical Centre
• PATIENT
• DOCTOR
• NURSE
• APPOINTMENT
• WORK DATA
• PRESCRIPTION
SSADM
Is it an «entitty»?
1. An entity must be important to the organization.
2. An entity must have at least one attribute
3. An entity must occur more than once
4. Each entity occurrence must be uniquely identifiable
MEMBER
Membership number
RECIPE
Recipe number
SSADM
Representation form for entitites
• rectangles with rounded corners in Entity Models
• The name of the entity is always singular!!
• RECEIPT
• DRINK
• PATIENT
•
•
•
1980’lerin başında kullanılmaya başlanmıştır.
SSADM SSADM, genellikle devlet bilgisayar projeleri için bir gereklilik olarak belirtilen İngiltere'de yaygın olarak kullanılan bir bilgisayar uygulama geliştirme
yöntemidir. Giderek Avrupa'da kamu sektörü tarafından kabul edilmiştir.
SSADM kamu malıdır ve İngiliz Standardı BS7738 ile belirtilir.
ATTRIBUTE
Attributes are bits of data associated with the entity
Entity: MEMBER
Attributes:
–
–
–
–
–
–
–
Member Name
Membership Number
Member Address
Date of Birth
Type
Seconder
Renewal Date
A full membership record
SSADM
Keys
A key is a way of identifying something
My key: Zehra Kamışlı Öztürk (It’s how other people identify me)
Brilliant ??
Zehra Öztürk (Yard.Doç.Dr. Anadolu Üniversitesi)
Zehra Öztürk (X Bank)
Zehra Öztürk (Dr. Y Hospital)
t.r. identity number
Keys
• Zehra KAMIŞLI ÖZTÜRK
• Zehra ÖZTÜRK - ANADOLU ÜNİVERSİTESİ
??
Keys
• an entity is made up of a number of attributes. To
identify that entity, we need a key.
• Unique … primary key
– it’s made up of just one attribute.
Relationships
• Entitites have relationships with other entities
Swillbuckets
Artistes entertain Members
Students attend Classes
Members attend Events
Students have Tutors
Artistes perform at Events
Tutors give Classes
Relationships
• The entities are joined together by a verb which describes the
relationship between them.
• In an entity model, related entities are joined by a line
Relation Types
• one-to-one (1:1)
•
Relation Types
• one-to-many (1:M)
Relation Types
• many-to-many (M:N)
Relation Types
• one-to-many (1:M)
PATIENT
DOCTOR
EVENT
ARTISTE
M:M
• Sadly, many-to-many relationships are not good for
databases. They cannot be implemented effectively.
• So many-to-many relationships have to be resolved.
M:M
• many-to-many (M:M)
STUDENT
COURSE
CUSTOME
PRODUCT
Resolving many-to-many relationships
1. Find a link entity
• we have to split many-tomany relationships into two
one-to-many relationships.
• This requires us to find a
link entity which is a single
occurrence of the many-tomany relationship.
Resolving many-to-many relationships
2
Consider the attributes
• When we create a new link
entity in this way, we need to
consider which attributes will
make up the new entity.
• There will be one or two from
the original two entities, but
there may be some completely
new ones.
Resolving many-to-many relationships
2
Consider the attributes
• When we create a new link
entity in this way, we need to
consider which attributes will
make up the new entity.
• There will be one or two from
the original two entities, but
there may be some completely
new ones.
COURT
DEFENDANT
Court no
Defendant no
Court name
Defendant name
Court address
Defendant address
Postcode
Postcode
Court type
date of birth
Court clerk
Current status
TRIAL
Court no*
DEfendant
no*
Trial no
Trial date
Judge
Charge
Defence
lawyer
Prosecutor
Simple steps in entity modelling
1. List the possible entities.
2. Check that the entities listed are really entities.
3. Draw a basic entity model, with boxes around the entities.
4. Identify which entities are related. Draw a line between them.
5. Give the relationship a name in each direction.
Simple steps in entity modelling
6 Identify the relationship type.
(1:1, 1:M or M:N)
7 Resolve any one-to-one relationships.
8 Resolve any many-to-many relationships.
Add in link entities.
9 Add the attributes, including primary keys and foreign keys.
Resolution and Naming the relationships
Entity Modeling
• The systems analyst will need to communicate
regularly with the user
• during this process in order to check that all
necessary entities have been identified and
that the relationships are accurate.
CASE: Entity modelling at Swillbuckets
1. List the possible entities.
ARTISTE
EVENT
MEMEBER
DISH
BREWERY
DRINK
ARTISTE
RECIPE
1.
An entity must be important to the
EVENT
BREWERY
MEMEBER
organization.
2.
3.
DISH
An entity must have at least one attribute
An entity must occur more than once
DRINK
RECIPE
4.
Each entity occurrence must be uniquely
identifiable
SUPPLIER
MEDIA
CASE: Entity modelling at Swillbuckets
3. Draw the basic entity model
there may be more entities to come
when we show the user our entity
model.
CASE: Entity modelling at Swillbuckets
4 Identify the relationships.
ARTISTEs attend EVENTs
MEMBERs attend EVENTs
EVENTs provide DISHes
DISHes require RECIPEs
SUPPLIERs supply DRINKs
MEDIA cover EVENTs
CASE: Entity modelling at Swillbuckets
4 Identify the relationships.
CASE: Entity modelling at Swillbuckets
5 Give the relationships a name, in each direction!!
CASE: Entity modelling at Swillbuckets
6 Identify the type of relationship.
each EVENT will only ever offer one dish (in
order to keep Freddo Smitho just the right
side of sane) and each dish will be offered at
many EVENTs.
each RECIPE could require many FOOD
ORDERs and each FOOD ORDER could be
required for many RECIPES.
CASE: Entity modelling at Swillbuckets
7 Resolve any one-to-one relationships.
CASE: Entity modelling at Swillbuckets
8 Resolve any many-to-many relationships.
find a link entity
CASE: Entity modelling at Swillbuckets
8 Resolve any
many-tomany
relationships.
CASE: Entity modelling at Swillbuckets
9 Add the attributes and keys.
• Primary keys are underlined.
• Attribute names have been condensed into one word with no spaces –
– spaces can cause problems in some systems. Capital letters are used to denote a new
word in the name.
•
An asterisk denotes a foreign key –
– an attribute which acts as a link to another entity by appearing in both. It’s a primary
key in one entity but not in the other.
•
Address attributes are shown as just one attribute, but in reality
they are
– usually made up of a number of attributes e.g. Street, Town, County, Postcode.
CASE: Entity modelling at Swillbuckets
Physical data store/entity cross-reference
1 List all the data stores, by checking the current
physical DFD
•
•
•
•
•
M1 Membership shoebox
M2 Artiste shoebox
M3 Supplier shoebox
M4 Events folder
M5 Recipe book
Physical data store/entity cross-reference
2 Cross reference
each data store
with
corresponding
entities from the
entity model.
A data store can
have more than
one entity
Physical data store/entity cross-reference
3 Check that each data store has at least one
entity.
4 Check that each entity is stored in a data store.
• We note that the entities EVENT TICKET and MEDIA do
not have data stores. The fact that EVENT TICKET does
not have a data store is expected.
Download