Week4 DBM Work
Running head: ENTITY RELATIONSHIP DIAGRAMS
ENTITY RELATIONSHIP DIAGRAMS
Creating Entity Relationship Diagrams for Huffman Trucking Fleet Maintenance Database
(Student’s Name)
(Professor’s name)
(Course Title)
(Date of Submission)
Entity Relationship Diagrams (ERDs) have been in existence in the last 35 years and are well suited to modeling data that is utilized in databases. This is because they are fairly abstract as well as easy to discuss and explain (Barker, 2010). An ER model can be readily translated to relations. In simple terms, an ER model is a representation of the conceptual database as viewed from the end user perspective (Howe, 2011). The primary goal of creating entity relationships diagrams for Huffman Trucking Fleet Maintenance Database is to model the following:
Entities- An entity is an object of interest to the end user which corresponds to a table.
Attributes- An attribute is a characteristic of an entity and is usually represented as a field of a table at the implementation level.
Relationships- A relationship is an association between entities, a relationship between entities always operates in both directions.
An Entity Relationship Diagram (ERD) is basically a snapshot or a summary of various data structures which are designed to show the entities that are present in a database as well as the relationship between the tables of a that particular database. ERDs assist in database design, implementation, as well as documentation in the following ways:
Visual Representation- ERDs provide visual representation of the design of a database, the visual representation allows the database designer to focus on the way the database will primarily work with all the interactions and the data flows.
Effective Communication- A ERD clearly communicates the key entities in a particular database and their relationship with each other.
Simple to understand- ERDs are simple to understand and easy to understand to even those without the knowledge of database design
High Flexibility- ERD models are quite flexible to use as other relationships can be easily derived from the existing relationships.
The following steps document the process of creating the ERDs for the Huffman Trucking Fleet Maintenance Database:
· The first step in creating ERDs is identifying the software program to utilize; examples include Lucidchart and Microsoft Visio. Lucidchart is ideal since it is full-featured and automatically generates ERDs based on real-life data structures.
· The second step involves identifying the components which are entities, attributes, and relationships. This step is an important part of the process since it involves identifying the entities, their characteristics (attributes), the significant interactions between them, and ultimately analyzing the nature of the interactions.
· The third step involves identifying the data model level, an ERD may occupy one of the three data modeling levels which are: conceptual, logical, or physical. The physical level is preferred since it is the most detailed and demonstrates how to physically implement a model’s information within a database.
· The fourth step involves creating the entities as rectangles and naming their attributes; entities are usually represented by rectangles while attributes are represented by ovals or are named inside the entities.
· The last step involves defining the relationships which is done through specialized connectors that express both cardinality and ordinality. Cardinality specifies how many instances of an entity relate to another instance of an entity while ordinality describes the relationship as either mandatory or optional.
Example ERD for the Huffman Trucking Fleet Maintenance Database
References
Barker, R. (2010). CASE Method: Entity relationship modelling. Wokingham, England: Addison-Wesley Pub.
Howe, D. R. (2011). Data analysis for database design. Oxford: Butterworth Heinemann.
parts_inventory_isssue
PKtransaction_idSHORT
dateDATETIME
priceDOUBLE
quantityDOUBLE
maintenance_serialINTEGER
FK1maintanace_serialINTEGER
parts_inventory_purchase
PKpurchase_idINTEGER
dateDATETIME
priceDOUBLE
quantityDOUBLE
parts_catalog
PKcatalog_idINTEGER
descriptionVARCHAR(100)
typeCHAR(10)
manufacturerVARCHAR(100)
quantity_at_handDOUBLE
reorder_pointDOUBLE
reorder_quantityDOUBLE
vendors
PKvendor_idCHAR(10)
nameVARCHAR(50)
order_addressVARCHAR(20)
streetVARCHAR(20)
cityVARCHAR(30)
stateVARCHAR(20)
zipVARCHAR(20)
order_contactVARCHAR(20)
order_telVARCHAR(20)
parts_purchase_history
PKtransaction_idINTEGER
FK1catalog_idINTEGER
quantityDOUBLE
FK2vendor_idINTEGER
order_quantityDOUBLE
quantityDOUBLE
shippingDOUBLE
taxDOUBLE
FOBDOUBLE
FK3purchase_idINTEGER
vehicle_maintenance
PKmaintanace_serialINTEGER
vehicle_part_idINTEGER
maintenance_idINTEGER
service_dateDATETIME
next_scheduledDATETIME
FK1part_idINTEGER
tire_maintanance
PKbarcodeINTEGER
manufacturer_idINTEGER
service_dateDATETIME
FK1vehicle_typeINTEGER
part_idINTEGER
FK2catalog_idINTEGER
vehicle_type
PKtype_idINTEGER
type_descipriptionVARCHAR(100)
vehicle
PKvehicle_idINTEGER
FK1type_idINTEGER
class_codeVARCHAR(10)
mileageINTEGER
Table
�