Week4 DBM Work

profileoneal33
creating_entity_relationship_diagrams.docx

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