Académique Documents
Professionnel Documents
Culture Documents
1. Fase de diseño.
2. Estructuras de datos relacionales.
3. Relaciones.
4. Codificación sql.
5. Prueba y corrección de errores.
Basededatos.Nombredelschema.Nombredelobjeto
Dentro del punto de vista de la estructura de una tabla el siguiente aspecto son las
columnas de manera general una columna es utilizada para almacenar un fragmento de
información de una fila de una tabla. Atómico o escalar son los términos más comunes
para describir el tipo de dato que se almacena en una columna. La clave es que el valor
que representa los datos según la columna se encuentre en el nivel más bajo posible
requerido para trabajar en ellas.
Una columna puede ser conocida como atributo (desde el punto de vista
lógico/conceptual) y como campo (desde el punto de vista físico).
Una fila es donde se almacena la información completa para un registro completo de
una tabla. También se le conoce como Tupla (desde el punto de vista relacional) o como
registro (desde el punto de vista físico).
Dominios
El domino de una columna es un conjunto valido de valores para que esta los almacene.
Por ejemplo considere una columna que esta pensada para almacenar la fecha de
cumpleaños de un empleado. La sig. Lista que contiene limites y valores a considerar:
1. Se debería almacenar solamente la fecha y no la hora.
2. El valor de dicha fecha debe ser anterior a la fecha actual.
3. El valor de la fecha debería de evaluar si la persona posee una edad legal para
trabajar.
4. El valor de la fecha no debería ser mayor a 70 años.
Los dominios también pueden ser mas específicos por ejemplo.
Que solo soporte entero positivo.
Una dirección de correo electrónico.
Una cadena de caracteres de no menos de 30 caracteres.
Un rango de valores como notas (0-100).
Llaves
En la teoría relacional una relación no permite tener tuplas duplicadas. Sin embargo en
los RDBMS no existe una limitante para indicar que no se permiten filas duplicadas sin
embargo es altamente recomendado que todas las tablas tengan almenos una llave
candidata definida que aseguren que todas las filas son únicas.
Propósito de las llaves
Cada tabla debería de tener al menos una llave candidata este es un atributo o
combinaciones de atributos que puedan identificar de manera única y sin ambigüedad
cada instancia de una entidad (cada fila de una tabla). En resumen una llave define que
una columna es única dentro de un conjunto de columnas, una tabla puede tener
cuantas llaves sean requeridas para mantener el estado de únicas para las filas. Y una
llave puede tener cuantas columnas sean necesarias para mantener dicho estado.
Llaves primarias y alternas
Una llave primaria (primary key) se utiliza como el identificador primario para una
entidad. Esta se utiliza para identificar de manera única a cada una de las instancias de
esa entidad. Puede darse el caso en que se tenga mas de un identificador para realizar
esta tarea y cuando eso sucede luego de elegir la llave primaria las restantes serán
conocidas como llaves alternas (alternate keys).
La elección de una llave primaria es una mezcla de conveniencia y facilidad de uso. Lo
importante de recordar es que debemos proteger la base de datos de valores duplicados
mediante la implementación de estas llaves.
Eligiendo una llave: dado que las llaves pueden consistir de cualquier número de
columnas las mejores prácticas nos indican que se deben limitar el número de columnas
en una llave como sea posible.
Tipos de llaves
Llaves Naturales
Llaves sustitutas (surrogate key)
Una llave natural se define como una llave candidata que tiene una relación lógica con
los atributos dentro de esa fila. En otras palabras es un atributo “real” de una entidad y
que el usuario de manera lógica utiliza para identificar de manera única a cada instancia
de una entidad.
Las llaves sustitutas llamadas también llaves artificiales son lo opuesto a una llave
natural esto significa que se usan para sustituir una llave natural dado que en algunos
escenarios una llave natural no es lo suficientemente estable o confiable para su uso en
cuyo caso se decide utilizar una llave sustituta.
Una llave sustituta puede identificar de manera única a cada una de las instancias de
una entidad pero no tiene ningún significado con respecto a la entidad que representa.
Las llaves sustitutas usualmente son mantenidas por el sistema.
Son métodos comunes para la creación de llaves sustitutas, la utilización de valores
que incrementa un número de manera monótona el uso de una función de tipo hash o
incluso un identificador único global GUID (Global Unique Identifier) el cual es un
identificador que es único en todas las maquinas del mundo
Valores Desconocidos (NULL)
En una base de datos debe existir una manera de indicar a un valor para una columna
dada o que dicho valor no es relevante. Anteriormente se utilizaban valores fuera de los
rangos legítimos para denotar dicho valor (estos valores se conocen como centinela).
Por ejemplo los programadores anteriormente fechas antiguas en una columna de fecha
van a indicar que dicho valor no importaba o utilizaban un valor negativo para indicar
que ese dato no debía ser tomado en cuenta o si la columna era de texto utilizaban los
valores desconocidos (Desconocido, N/A, unknown).
Esta aproximación es correcta el problema viene cuando se requiere un código especial
para cada tipo de columna. En su lugar se utiliza un tipo común de valor llamado NULL.
En la teoría relacional significa que ese valor no se conoce en ese momento. Un valor
NULL es distinto a una cadena de caracteres vacía, en blanco o cero y se utilizan en un
RDBMS para representar información faltante de manera sistemática
independientemente del tipo de datos.
Existen algunas propiedades de NULL que debemos tener en consideración:
1. Cualquier valor concatenado con NULL es NULL. Dado que NULL representa
cualquier valor valido. si un valor conocido se concatena con un desconocido el
resultado es un valor desconocido.
En este tipo de relación en lugar de que exista un solo padre tiene uno o muchos hijos se da el
caso de que mas de un padre posee uno o mas hijos. Una relación de muchos a muchos no es
implementar directamente utlizando un simple código en nuestro RDBMS sino que se realiza
de manera que se introduce una nueva relación en la tabla. En lugar de que la llave de una
tabla sea migrada a otra tabla ambas llaves de ambas tablas en la relación se migran a una
nueva tabla que se utiliza para la implementación de la relación.
Relaciones no binarias
Una relación no binaria involucra mas de dos tablas en la relación, este tipo de relaciones
parecen problemáticas al principio pero son muy comunes y fáciles de implementar por
ejemplo.
Un aula de clase es utilizada por una clase durante un periodo de tiempo.
Uno de los aspectos mas importantes de la teoría relacional es que debe existir un lenguaje de
alto nivel mediante el cual todos los datos pueden ser accesados 5ta regla de cod. Lenguaje
que ha sido estandirazdo en el transcurso de los años es SQL (structured query language). SQL
es un lenguaje relacional que se divide en dos fragmentos:
SQL paso a hacer el estándar del ANSI en 1986 y del ISO en 1989. SQL aparecion por primera
vez en 1974 fue diseñado por Donald D. Chambelin (1974). Mediante SQL podemos realizar las
siguientes tareas:
Si la base de datos que se modela se realiza de manera correcta el modelo de datos es la mejor
forma de documentación que un sistema puede obtener. Nos puede mostrar de manera
general un vistazo a las condiciones de un sistema y los programadores y los usuarios finales
pueden verlo y obtener una idea de cómo el sistema funciona y como las tablas están
relacionadas.
Entidades
Independientes del identificador siendo la diferencia entre ambas en como la yallve primaria
de dicha entidad esta estructurada. Una entidad dependiente es llamada de esta forma dado
que su llave primaria no tiene dependecia de otra entidad en otras palabras nos existen llaves
foráneas de otras entidades en nuestra llave primaria.
El nombre dado debe corresponder directamente a la esencia de la entidad que esta siendo
modelado.
Todos los atributos de una entidad deben poseer un nombre único dentro de la misma
estos son representados por una lista de nombres dentro del rectángulo de la entidad
Llaves primarias
Toda entidad en el estándar IDEF1X debe tener una llave primaria. La llave primaria
puede ser un único atributo o puede estar compuesta de multiples atributos.
PRODUCTO
Tipo
Estilo
Atributos que forman parte de la llave.
Tamaño
Seria
Nombre
Laves Alternas
Es un conjunto de uno o mas atributos en los cuales se debe garantizar que sean
únicos para todas las instancias de una entidad
PRODUCTO
Tipo
Estilo
Atributos que forman parte de la llave.
Tamaño
Seria
Llaves Foraneas
Son llaves primarias de una entidad que sirven como referencia a una instancia de otra
entidad.
Album
Codigo
Nombre (AK1)
Artista (FK)
Distribuidor (FK)
Genero
Relaciones
En el estándar IDEF1X cada relación se encuentra representada por una línea que
une las dos entidades con un circulo solido en uno de los extremos de la línea que
indica donde el atributo es migrado.
PADRE HIJO
Las relaciones se representan de diversas formas que identifica como la tabla padre
esta relaciona con la tabla hijo. Los diferentes tipos de relación se marcan en estas
categorías:
1. Relaciones identificadoras: donde la llave primaria de una tabla es migrada a
la llave primaria de otra tabla. El hijo será una entidad dependiente
PADRE HIJO
Codigo
Codigo CodigoPadre
Atributo1 Atributo1
Atributo2 Atributo2