cardinality and participation constraints

Download Cardinality and participation constraints

Post on 16-Apr-2017

9.419 views

Category:

Data & Analytics

0 download

Embed Size (px)

TRANSCRIPT

Cardinality & Participation Constraint in DBMS

Cardinality & Participation Constraint in DBMS

ConstraintsRelationship types usually have certain constraints that limit the possible combinations of entities that may participate in the corresponding relationship set.

Constraints ?

Why to use Constraints ?To limit the type of data that can go into a table To maintain the accuracy and integrity of the data inside table.

Most used constraints:NOT NULLUNIQUEPRIMARY KEYFOREIGN KEYCHECKDEFAULT

Type of ConstraintsWe can distinguish two main types of relationship constraints:Cardinality constraintsParticipation constraints

EmployeeDepartmentWork forEntityRelationship typeEntityEvery relation in relationship type is an association between employee and department

Requirement Analysis:

Every employee work for one departmentAn department can have many employeesNew department need not have employeeDegree:In every relationship how many entities are participating.

E1E2E3E4E5E6 D1D2D3

123456

employeeWork forDepartmentDegree-2(binary)

Work ForWork ForEmployeeDepartmentEmployeeDepartment1N(1,1)(0,N)Min/Max RepresentationER diagramMore info could be represented using MIN/Max Method

E1E2E3E4

1234D1D2D3D4EmployeeManagerDepartmentDegree-2(binary)Every Department should have a manager & only one employee manages a department. An Employee can manage only one department.Requirement Analysis:

CardinalityMy Cardinal Is Bigger Than Yours

CardinalityThe term cardinality actually hastwodifferentmeanings depending on the context of its usage one meaning is in the context ofData modelingand the other meaning is in the context ofSQL statements.

Relationship one table can have with another table

In The Context Of Data ModelingIt simply refers to the relationship that one table can have with another table. These relationships include: many-to-many, many-to-one/one-to-many, or one-to-one whichever one of these characteristics a table has in relationship with another table is said to be the cardinality of that table.

Example:Suppose we have three tables that are used by a company to store employee information: an Employee table, an Employee_Salary table, and a Department table.The Department table will have a one to many relationship with the Employee table, because every employee can belong to only one department, but a department can consist of many employees.In other words, the cardinality of the Department table in relationship to the employee table is one to many. The cardinality of the Employee table in relationship to the Employee_Salary table will be one to one, since an employee can only have one salary, and vice versa.

There are three degrees of Cardinality, known as:

One-to-One (1:1):One occurrence of an entity relates to only one occurrence in another entity.

One-to-Many (1:M):One occurrence in an entity relates to many occurrences in another entity.

Many-to-Many (M:N) Many occurrences in an entity relate to many occurrences in another entity.

Cardinality in SQLUniqueness of data

Cardinality in SQL

Cardinality refers to the uniqueness of data contained in a column.If a column has a lot of duplicate data (e.g. a column that stores either "true" or "false"), it has low cardinality,but if the values are highly unique (e.g. Social Security numbers), it has high cardinality.

For example, lets say we have a table with a Gender column which has only two possible values of Male and Female. Then, that Gender column would have a cardinality of 2, because there are only two unique values that could possibly appear in that column.

Lets say that we have a primary key column on a table with 10,000 rows. What do you think the cardinality of that column would be?

Primary key: It is a key in a relational database that is unique for each record.

It is 10,000.Because it is a primary key column, we know that all of the values in the column must be unique.

Cardinality of a primary key column will always be equal to the number of records in the same table.

Participation Constraint

Participation ConstraintThere are two types of participation constraintstotal and partial.The participation of an entity set E in a relationship set R is said to be total if every entity in E participates in at least one relationship in R. If only some entities in E participate in relationships in R, the participation of entity set E in relationship R is said to be partial.

ER model

Double line indicates the total participation constraint in an ER model.Single line indicates the partial participation constraint in an ER model.

Cardinality Constraints : At most

Participation Constraints : At least or Minimum

ConstraintsCardinalityParticipationData modelingSQL statementsOne-to-OneOne-to-ManyMany-to-Manylow cardinalityhigh cardinalityTotalPartial

Recommended

View more >