Presentation is loading. Please wait.

Presentation is loading. Please wait.

Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through.

Similar presentations


Presentation on theme: "Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through."— Presentation transcript:

1 Trisha Cummings

2  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through which the developer analyzes the client's requirements and develops an application.  One technique commonly used in analyzing the client's requirements is data modeling  The purpose of data modeling is to develop an accurate model, or graphical representation, of the client's information needs and business processes.

3  The data model acts as a framework for the development of the new or enhanced application.  Data modeling is the process of creating a data model by applying a data model theory to create a data model instance.  A data model theory is a formal data model description.  A database model is a theory or specification describing how a database is structured and used. Several such models have been suggested.

4  Conceptual data models.  Logical data models (LDMs).  Physical data models (PDMs).

5  These models, sometimes called domain models, are typically used to explore domain concepts with project stakeholders.  On Agile teams high-level conceptual models are often created as part of your initial requirements envisioning efforts as they are used to explore the high-level static business structures and concepts.  On traditional teams conceptual data models are often created as the precursor to LDMs or as alternatives to LDMs.

6  LDMs are used to explore the domain concepts, and their relationships, of your problem domain.  This could be done for the scope of a single project or for your entire enterprise.  LDMs depict the logical entity types, typically referred to simply as entity types, the data attributes describing those entities, and the relationships between the entities.  LDMs are rarely used on Agile projects although often are on traditional projects (where they rarely seem to add much value in practice).

7  PDMs are used to design the internal schema of a database, depicting the data tables, the data columns of those tables, and the relationships between the tables.  PDMs often prove to be useful on both Agile and traditional projects and as a result the focus of this article is on physical modeling.

8  Common models include:  Hierarchical model  Network model  Relational model  Entity-relationship  Object-Relational model  Object model  Associative  Concept-oriented  Entity-Attribute-Value  Multi-dimensional model  Semi-structured  Star schema  XML database

9  When data modeling, we are structuring and organizing data.  These data structures are then typically implemented in a database management system.  In addition to defining and organizing the data, data modeling will impose (implicitly or explicitly) constraints or limitations on the data placed within the structure.  Managing large quantities of structured and unstructured data is a primary function of information systems.  Data models describe structured data for storage in data management systems such as relational databases.

10  Entity Relationship Diagrams are a major data modelling tool and will help organize the data in your project into entities and define the relationships between the entities.  This process has proved to enable the analyst to produce a good database structure so that the data can be stored and retrieved in a most efficient manner.

11  Entity  Relationship  Attribute

12  A data entity is anything real or abstract about which we want to store data.  Entity types fall into five classes:  roles, events,  locations,  tangible things or  concepts.

13  A data relationship is a natural association that exists between one or more entities.  Employees process payments.  Cardinality defines the number of occurrences of one entity for a single occurrence of the related entity. an employee may process many payments but might not process any payments depending on the nature of her job.

14  A data attribute is a characteristic common to all or most instances of a particular entity.  Synonyms include property, data element, field.  Name, address, Employee Number, pay rate are all attributes of the entity employee.  An attribute or combination of attributes that uniquely identifies one and only one instance of an entity is called a primary key or identifier.  Employee Number is a primary key for Employee.

15  Identify Entities  Find relationships  Draw a rough ERD  Fill in cardinality  Define primary keys  Draw key based erd  Identify attributes  Map attributes  Draw Fully Attributed ERD  Check Results

16  A company has several departments.  Each department has a supervisor and at least one employee.  Employees must be assigned to at least one, but possibly more departments.  At least one employee is assigned to a project, but an employee may be on vacation and not assigned to any projects.  The important data fields are the names of the departments, projects, supervisors and employees, as well as the supervisor and employee number and a unique project number.

17  The entities in this system are Department, Employee, Supervisor and Project.  One is tempted to make Company an entity, but it is a false entity because it has only one instance in this problem.  True entities must have more than one instance.

18 DepartmentEmployeeSupervisor Project Department is assigned run by Employeebelongs to works on Supervisorruns Project uses  We construct the following Entity Relationship Matrix:

19  We connect the entities whenever a relationship is shown in the entity Relationship Matrix.

20  From the description of the problem we see that: Each department has exactly one supervisor.  A supervisor is in charge of one and only one department.  Each department is assigned at least one employee.  Each employee works for at least one department.  Each project has at least one employee working on it.  An employee is assigned to 0 or more projects.

21

22  The primary keys are Department Name, Supervisor Number, Employee Number, Project Number.

23  There are two many-to-many relationships in the rough ERD above, between Department and Employee and between Employee and Project.  Thus we need the associative entities Department-Employee and Employee-Project.  The primary key for Department-Employee is the concatenated key Department Name and Employee Number.  The primary key for Employee-Project is the concatenated key Employee Number and Project Number

24

25  The only attributes indicated are the names of the departments, projects, supervisors and employees, as well as the supervisor and employee NUMBER and a unique project number.

26 Attribute Entity Attribute Entity Department Name DepartmentSupervisor Number Supervisor Employee Number EmployeeSupervisor Name Supervisor Employee Name EmployeeProject Name Project Project Number Project

27

28  Look at your diagram from the point of view of a system owner or user.  Is everything clear? Check through the Cardinality pairs.  Also, look over the list of attributes associated with each entity to see if anything has been omitted.

29  http://www.islandnet.com/~tmc/html/articl es/datamodl.htm http://www.islandnet.com/~tmc/html/articl es/datamodl.htm  http://en.wikipedia.org/wiki/Database_mod el http://en.wikipedia.org/wiki/Database_mod el  http://www.agiledata.org/essays/dataModeli ng101.html http://www.agiledata.org/essays/dataModeli ng101.html  http://www.infocom.cqu.edu.au/Courses/sp r2000/95169/Extra_Examples/ERD.htm http://www.infocom.cqu.edu.au/Courses/sp r2000/95169/Extra_Examples/ERD.htm


Download ppt "Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through."

Similar presentations


Ads by Google