Keys


Candidate Key

It is an attribute (column) or set of attributes that can be used to identify each tuple (record or row) in a relation. For instance, emp_id is clearly a candidate key for the employee table. Each row in employee has a different emp_id value.
Es un atributo (columna) o un conjunto de atributos que pueden usarse para identificar cada tuple (registro o renglón) en una tabla. Por ejemplo, emp_id es claramente una llave candidato para la tabla empleado, ya que cada renglón de employee tiene un valor diferente de emp_id.

CandidateKey

CompositeKey

Primary Key

It is a special form of candidate key. It may be possible to have more than one candidate key for a relation. For instance, we could introduce an attribute ssn to the employee table. Then we would have two candidate keys. In this situation, where we have alternate candidate keys, we must nominate one of them to be the primary key. The SQL command PRIMARY KEY requires that all values entered into the column be unique and different than NULL.
Es una forma especial de llave candidato. Es posible tener más de un llave candidato en una tabla. Por ejemplo, se podría introducir la columna ssn (número del seguro social similar al CURP) a la tabla empleado. Entonces se tendrían dos llaves candidato. En este caso, se debe elegir solo una de ellas como la llave primaria. El comando de SQL PRIMARY KEY requiere que todos los valores introducidos en la columna sean únicos y diferentes de NULL.

PrimaryKey

Tip
A table may have any number of candidate keys, but must have one, and only one, primary key. When there is only one candidate key in a table, then it is by default the primary key.
Una tabla puede tener varias llaves candidato pero debe tener una y sola una llave primaria. Cuando solo hay una llave candidato en una tabla, entonces, automáticamente ésta es la llave primaria.

Foreign Key

It is a column (or a set of columns) that exists in more than one table and which is the primary key for one of those tables. emp_id exists in both the emp_skill and the employee tables. In the employee table, emp_id is the primary key, however, emp_id is a foreign key in the emp_skill table.
Es una columna (o conjunto de columnas) que existe en más de una tabla y que es la llave primaria en alguna de estas tablas. emp_id existe en las tablas emp_skill y empleado. En la tabla empleado emp_id es la llave primaria, mientras que en la tabla emp_skill ésta es una llave extranjera.

ForeignKey

Tip
Foreign keys are very important in relational databases because they provide a specific way to connect data from one table to data in another table, this connection is known as relationship. There is a set of rules that have been defined so that relationships in a database can be valid.
Las llaves extranjeras son muy importantes en las bases de datos relacionales, ya que proporcionan una forma apropiada de conexión entre dos tablas conocida como relación entre tablas. Hay un conjunto de reglas que se han definido de tal modo que las relaciones en una base de datos puedan ser validas.

Problem 1
Create a script to create the motorola database (see Wintempla > SQL > Sample databases) using:
  1. Microsoft SQL Server
  2. Oracle
  3. MySQL

Problem 2
motorola> Find the candidate key from the tables: employee, skill, emp_skill, and department.
Encuentre la llave candidato en las tablas: employee, skill, emp_skill, and department.

Problem 3
Can a table have several candidate keys?
Puede una tabla tener varias llaves candidatos?

Problem 4
Can a table have several primary keys?
Puede una tabla tener varias llaves primarias?

Problem 5
Can a table have several foreign keys?
Puede una tabla tener varias llaves extranjeras?

UNIQUE

The UNIQUE command prevents duplicate values from being entered into a column. This may be specified for columns that are not part of the primary key but for which we wish every value to be unique.
El comando UNIQUE previene que valores duplicados sean introducidos en una columna. Este puede ser especificado en columnas que no forman parte de la llave primaria para los cuales se desea que cada valor sea único.

Problem 6
Which attributes or columns can be UNIQUE? (a) Full Name, (b) Username, (c) Email, (d) password
Cuales atributos o columnas pueden ser UNIQUE? (a) Nombre Completo, (b) Nombre usuario, (c) Correo Electrónico, (d) Contraseña.

Tip
Before creating a foreign key, be sure that the column that is being referred in the parent table is a primary key, or that this column has been defined as UNIQUE.
Antes de crear una llave extranjera, asegúrese de que la columna a que se hace referencia en la tabla padre sea una llave primaria o bien, esta haya sido definida como UNIQUE.

NOT NULL

This command prevents NULL values from being entered into a column. This column must have a value for all rows in a table.
Este comando previene que valores nulos sean introducidos en una columna. Esta columna deberá tener un valor para todos los renglones en la tabla.

Problem 7
Each row in a table is a tuple, indicate if it is possible to find it by its position in the table. Consider a student table, if a new student is added at the end of the table; and when a student graduates, he is deleted from the table.
Cada renglón en una tabla es un tuple, diga si es posible encontrarlo por su posición en la tabla. Considere una tabla estudiante, si un nuevo estudiante es agregado al final de la tabla; y cuando un estudiante se gradúa, él se elimina de la tabla.

Problem 8
What attributes can be NULL (explain the context)? (a) Comments, (b) Number of children, (c) Age, (d) Political Views,(e) Sexual Orientation, (f) Religion, (g) Marital Status, (h) Level of Education, (i) Salary, (j) Nationality.
Que atributos pueden ser NULL (explique el contexto)? (a) Comentarios, (b) Número de hijos, (c) Edad, (d) Intereses Políticos,(e) Orientación Sexual, (f) Religión, (g) Estado Civil, (h) Nivel de Educación, (i) Salario, (j) Nacionalidad.

© Copyright 2000-2021 Wintempla selo. All Rights Reserved. Jul 22 2021. Home