Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Convenciones de sintaxis
Copyright © 2010. McGraw-Hill Interamericana. All rights reserved.
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
4 Microsoft SQL Server 2008. Manual de referencia
E ste capítulo describe sistemas de bases de datos en general. Primero analiza lo que
es un sistema de base de datos y qué componentes contiene. Cada componente se
describe de forma breve, con una referencia al capítulo en el cual se estudia con de-
talle. La segunda sección importante del capítulo está dedicada a sistemas de bases de datos
relacionales. Analiza las propiedades de estos sistemas y el lenguaje correspondiente que se
utiliza en ellos [Structured Query Language (SQL)].
En general, antes de implementar una base de datos, tiene que diseñarla con todos sus
objetos. La tercera sección principal del capítulo explica cómo puede usar formas normales
para destacar el diseño de su base de datos, y también presenta el modelo de relaciones de
entidades, que puede usar para conceptualizar todas ellas y sus relaciones. La sección final
presenta las convenciones de sintaxis que se utilizan en todo el libro.
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
Capítulo 1: Sistemas de base de datos relacionales: introducción 5
sistema para manejar los datos almacenados. Por lo tanto, un sistema de base de datos debe
contar con las siguientes características:
Independencia de datos físicos significa que los programas de aplicación de bases de da-
tos no dependen de la estructura física de los datos almacenados en ellas. Esta importante
característica le permite hacer cambios a los datos almacenados sin tener que hacer cam-
bios a programas de aplicación de bases de datos. Por ejemplo, si los datos almacenados se
ordenan previamente con base en un criterio, y se cambia este orden mediante el empleo de
otro criterio, la modificación de los datos físicos no debe afectar a las aplicaciones de bases de
datos existentes o al esquema de éstas (una descripción de una base de datos generada por el
lenguaje de definición de datos del sistema de base de datos).
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
6 Microsoft SQL Server 2008. Manual de referencia
tener que hacer cambios a los programas de aplicación de ellas. Por ejemplo, si en el sistema
de base de datos existe la estructura de un objeto llamado PERSONA y desea agregarle un
atributo (por ejemplo, el domicilio), tiene que modificar sólo la estructura lógica de la base
de datos y no los programas de aplicación existentes.
Optimización de consultas
Todo sistema de base de datos contiene un subcomponente llamado optimizador que
considera diversas estrategias de ejecución posibles para consultar los datos y luego selecciona
la más eficiente. La estrategia que selecciona se conoce como plan de ejecución de la consulta.
El optimizador toma sus decisiones con base en aspectos tales como el tamaño de las tablas
que participan en la consulta, qué índices existen y qué operador booleano (AND, OR o
NOT) se utiliza en la cláusula WHERE. (Este tema se analiza con detalle en el capítulo 20.)
Integridad de datos
Una de las tareas de un sistema de base de datos es identificar datos lógicamente incoheren-
tes y rechazar su almacenamiento en ella. (La fecha 30 de febrero y la hora 5:77:00 p.m. son
dos ejemplos de estos datos). Además, la mayoría de los problemas reales que se implemen-
tan mediante sistemas de base de datos tienen restricciones de integridad que se deben cumplir
con respecto a los datos. (Un ejemplo de una restricción de integridad podría ser el número
de empleado de la compañía, que debe ser un entero de cinco dígitos.) La tarea de mante-
ner la integridad la puede sortear el usuario en programas de aplicación o bien el DBMS
(sistema de manejo de bases de datos). Hasta donde sea posible, esta tarea la debe realizar el
DBMS. (La integridad de datos se analiza en dos capítulos de este libro: integridad declara-
Copyright © 2010. McGraw-Hill Interamericana. All rights reserved.
Control de concurrencia
Un sistema de base de datos es una estructura de software multiusuario, lo que significa que
muchas aplicaciones de los usuarios acceden a una base de datos al mismo tiempo. Por lo
tanto, cada sistema debe tener algún tipo de mecanismo de control que asegure que varias
aplicaciones que intentan actualizar los mismos datos lo hagan de forma controlada. El que
sigue es un ejemplo de un problema que puede presentarse si un sistema de base de datos no
contiene estos mecanismos de control:
1. Los titulares de la cuenta bancaria 4711 del banco X tienen un saldo de 2 000.
2. Los dos titulares mancomunados de esta cuenta bancaria, la Sra. A y el Sr. B, se forman
ante diferentes cajeros y cada quien retira 1 000 al mismo tiempo.
3. Después de realizar estas transacciones, la cantidad de dinero que hay en la cuenta
bancaria 4711 debe ser 0 y no 1 000.
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
Capítulo 1: Sistemas de base de datos relacionales: introducción 7
Todos los sistemas de bases de datos cuentan con los mecanismos necesarios para sortear
casos como este ejemplo. El control de concurrencia se analiza con detalle en el capítulo 13.
NOTA
Un modelo de datos es una colección de conceptos, sus relaciones y sus restricciones que se utilizan para representar
datos de un problema real.
El concepto central del modelo de datos relacionales es una relación (es decir, una tabla).
Por lo tanto, desde el punto de vista del usuario, una base de datos relacional contiene tablas
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
8 Microsoft SQL Server 2008. Manual de referencia
y nada más que tablas. En cada una de ellas hay una o más columnas y cero o más filas. En
cada posición de fila y columna de una tabla hay siempre exactamente un valor de datos.
departamento
empleado
proyecto
trabaja_en
Las tablas 1-1 a 1-4 muestran todas las tablas de la base de datos de muestra.
La tabla departamento representa todos los departamentos de la compañía. Cada uno de
ellos tiene los siguientes atributos:
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
Capítulo 1: Sistemas de base de datos relacionales: introducción 9
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
10 Microsoft SQL Server 2008. Manual de referencia
Cada proyecto de una compañía se representa en la tabla proyecto, la cual tiene las
siguientes columnas:
Todo elemento de datos individual de la tabla debe tener un valor único. Esto significa
que en toda posición de fila y columna de una tabla nunca hay un conjunto de múlti-
ples valores de datos.
En toda tabla hay al menos una columna (es decir, una combinación de columnas) con
la propiedad de que no tienen dos filas con la misma combinación de valores de datos).
En el modelo de datos relacionales, este identificador se conoce como clave candidata.
Si hay más de una clave candidata en una tabla, el diseñador de la base designa una de
ellas como la clave primaria de la tabla. Por ejemplo, la columna num_depto es la clave
primaria de la tabla departamento; las columnas num_emp y num_proyecto son las
claves primarias de las tablas empleado y proyecto, respectivamente. Por último, la
clave primaria de la tabla trabaja_en es la combinación de las columnas num_emp y
num_proyecto.
En una tabla nunca hay dos filas idénticas. (Esta propiedad sólo es teórica: el motor de
base de datos y todos los otros sistemas de bases de datos relacionales suelen permitir la
existencia de filas idénticas en una misma tabla.)
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
Capítulo 1: Sistemas de base de datos relacionales: introducción 11
En contraste con DDL, el lenguaje DML abarca todas las operaciones que manipulan
los datos. Siempre existen cuatro operaciones genéricas para manipular la base de datos:
recuperación, inserción, eliminación y modificación. La instrucción de recuperación
SELECT se describe en el capítulo 6, mientras que las instrucciones INSERT, DELETE y
UPDATE se describen con detalle en el capítulo 7.
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
12 Microsoft SQL Server 2008. Manual de referencia
La normalización de los datos es un proceso durante el cual se prueban las tablas existentes
de una base para buscar ciertas dependencias entre las columnas de una tabla. Si existen tales
dependencias, la tabla se reestructura en múltiples (en general dos) tablas, lo cual elimina
cualquier tipo de dependencia. Si una de estas tablas generadas aún contiene dependencias
de datos, se debe repetir el proceso de normalización hasta que se eliminen todas ellas.
El proceso de eliminar la redundancia de datos que afecta una tabla se basa en la teoría
de las dependencias funcionales. Una dependencia funcional significa que mediante el uso
del valor conocido de una columna, el valor correspondiente de otra columna se puede
determinar siempre de forma única. (El mismo criterio se aplica a los grupos de columnas.)
Las dependencias funcionales entre las columnas A y B se denota por A B, lo que
especifica que un valor de la columna A siempre se puede usar para determinar el valor
correspondiente de la columna B. (“B depende funcionalmente de A.”)
El ejemplo que sigue muestra la dependencia funcional entre dos atributos de la tabla
empleado en la base de datos de muestra.
EJEMPLO 1.1
num_emp apellido_emp
Con el valor único del número de empleado, se puede determinar el apellido que le
corresponde (y todos los otros atributos). (Este tipo de dependencia funcional, donde una
columna depende de la clave primaria de una tabla, se conoce como dependencia funcional
trivial.)
Otro tipo de dependencia funcional se conoce como dependencia de valores múltiples. En
contraste con la dependencia funcional que se acaba de describir, la dependencia de valores
Copyright © 2010. McGraw-Hill Interamericana. All rights reserved.
múltiples se especifica para atributos con valores múltiples. Esto significa que mediante el
empleo del valor conocido de un atributo (columna) se puede determinar de forma única el
correspondiente conjunto de valores de otro atributo de valores múltiples. La dependencia de
valores múltiples se denota con .
El ejemplo que sigue muestra la dependencia de valores múltiples que ocurre con dos
atributos del objeto LIBRO.
EJEMPLO 1.2
ISBN Autores
El ISBN de un libro determina siempre todos sus autores. Por lo tanto, el atributo
Autores es dependiente con valores múltiples del atributo ISBN.
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
Capítulo 1: Sistemas de base de datos relacionales: introducción 13
Formas normales
Las formas normales se utilizan para el proceso de normalización de datos y, por lo tanto, pa-
ra el diseño de la base de datos. En teoría, existen al menos cinco formas normales diferentes,
de las cuales las tres primeras son las más importantes debido a su uso práctico. La tercera
forma normal de una tabla se puede obtener probando la primera y segunda formas normales
en los estados intermedios, y como tal, la meta del buen diseño de una base de datos se puede
lograr si todas las tablas que existen en ella están en la tercera forma normal.
NOTA
La dependencia de valores múltiples se utiliza para probar la cuarta forma normal de una tabla. Por lo tanto, este tipo
de dependencia no se usará más en este libro.
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
14 Microsoft SQL Server 2008. Manual de referencia
Por ejemplo, la tabla 1-7 muestra la tabla trabaja_en1, que es idéntica a la tabla trabaja_
en salvo que tiene la columna adicional, num_depto. La clave primaria de esta tabla es la
combinación de las columnas num_emp y num_proyecto. La columna num_depto depende
de la clave parcial num_emp (y es independiente de num_proyecto), de modo que esta tabla
no está en 2NF. (La tabla original, trabaja_en, está en 2NF.)
NOTA
Toda tabla con una clave primaria de una columna está siempre en 2NF.
empleado, así como todas las otras tablas de la base de datos de muestra, están en 3NF.)
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
Capítulo 1: Sistemas de base de datos relacionales: introducción 15
La entidad PERSONA del ejemplo 1.3 tiene varios atributos atómicos, un atributo
compuesto, Domicilio, y un atributo de valores múltiples, Título_universitario.
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
16 Microsoft SQL Server 2008. Manual de referencia
EJEMPLO 1.3
PERSONA (Num_personal, Nombre, Apellido, Domicilio(Ciudad,Código,Calle), #
{Título_universitario})
Cada entidad tiene uno o más atributos claves que son atributos (o una combinación de
dos o más atributos), cuyos valores son únicos de cada entidad en particular. En el ejemplo
1.3, el atributo Num_personal es el atributo clave de la entidad PERSONA.
Además de la entidad y el atributo, la relación es otro concepto básico del modelo ER.
Una relación existe cuando una entidad se refiere a otra (o más) entidades. El número de
entidades participantes define el grado de una relación. Por ejemplo, la relación trabaja_en
entre las entidades EMPLEADO y PROYECTO tiene un grado 2.
Toda relación existente entre dos entidades debe ser de uno de los tres tipos siguientes:
1:1, 1:N o M:N. (Esta propiedad de una relación también se conoce como relación
de cardinalidad.) Por ejemplo, la relación entre las entidades DEPARTAMENTO y
EMPLEADO es 1:N, ya que cada uno de éstos pertenece exactamente a un departamento,
el cual tiene uno o más empleados. Asimismo, la relación entre las entidades PROYECTO
y EMPLEADO es M:N, ya que cada proyecto cuenta con la participación de uno o más
empleados y cada uno de éstos trabaja al mismo tiempo en uno o más proyectos.
Una relación puede tener también sus propios atributos. La figura 1-1 muestra un ejemplo
de un diagrama ER. (El diagrama ER es la notación gráfica que se utiliza para describir el
modelo ER.)
PROYECTO
num_depto nombre_depto Lugar
M
fecha_ingreso
DEPARTAMENTO trabaja_en
Puesto
1
N
N
trabaja_para EMPLEADO
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
Capítulo 1: Sistemas de base de datos relacionales: introducción 17
Con base en esta notación, las entidades se modelan mediante el uso de cajas rectangulares,
con el nombre de la entidad escrito dentro de la caja. Los atributos se muestran en óvalos y
cada atributo se adjunta a una entidad (o relación) en particular mediante una línea recta. Por
último, las relaciones se modelan con forma de diamantes y las entidades que participan en
la relación se adjuntan a ella por medio de líneas rectas. La relación de cardinalidad de cada
entidad se escribe en la línea correspondiente.
Convenciones de sintaxis
Este libro emplea las convenciones que se ilustran en la tabla 1-9 para la sintaxis de las ins-
trucciones Transact-SQL y para la indicación del texto.
NOTA
En contraste con los corchetes y los paréntesis angulares, que pertenecen a convenciones de sintaxis, los paréntesis, ( ),
pertenecen a la sintaxis de una instrucción y se deben teclear siempre.
Convención Indicación
Cursiva Nuevos términos o elementos destacados.
MAYÚSCULAS Palabras clave de Transact-SQL (por ejemplo, CREATE TABLE). Se puede obtener información adicional
acerca de las palabras clave del lenguaje Transact-SQL en el capítulo 5.
minúsculas Variables e instrucciones Transact-SQL (por ejemplo, CREATE TABLE nombre de tabla). (El usuario debe
reemplazar “nombre de tabla” con el nombre real de la tabla.)
Copyright © 2010. McGraw-Hill Interamericana. All rights reserved.
var1|var2 Uso alternativo de los elementos var1 y var2. (Puede elegir sólo uno de los elementos separados por la
barra vertical.)
{ } Uso alternativo de más elementos.
Ejemplo: {expresión|USER|NULL}
[ ] Elemento o elementos opcionales.
Ejemplo: [FOR LOAD]
{ }... Elemento o elementos que se pueden repetir cualquier número de veces.
Ejemplo: {,@param1 typ1}...
negrita Nombre del objeto de base de datos (la base de datos misma, tablas, columnas) en el texto.
Predeterminado El valor predeterminado siempre va subrayado.
Ejemplo: ALL|DISTINCT
Tabla 1-9 Convenciones de sintaxis
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.
18 Microsoft SQL Server 2008. Manual de referencia
Conclusión
Todos los sistemas de bases de datos ofrecen las siguientes características:
Ejercicios
E.1.1
¿Qué significa “independencia de datos” y cuáles dos formas de independencia de datos
existen?
Copyright © 2010. McGraw-Hill Interamericana. All rights reserved.
E.1.2
¿Cuál es el concepto principal del modelo relacional?
E.1.3
¿Qué representa la tabla empleado en el mundo real? ¿Y qué representa la fila en esta tabla
con los datos de Ana Jiménez?
E.1.4
¿Qué representa la tabla trabaja_en en el mundo real (y en relación con las otras tablas de la
base de datos de muestra)?
Petkovic, D. (2010). Microsoft sql server 2008 : Manual de referencia. Retrieved from http://ebookcentral.proquest.com
Created from senavirtualsp on 2020-04-27 15:49:13.