SQL SERVER 2000 Diseño, Implementación, Conexión, Consulta y Actualización de Datos de Una Base...

download SQL SERVER 2000 Diseño, Implementación, Conexión, Consulta y Actualización de Datos de Una Base de d

of 153

Transcript of SQL SERVER 2000 Diseño, Implementación, Conexión, Consulta y Actualización de Datos de Una Base...

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    Mdulo I: Diseo de una base de datosTema 1:Teora de sistemas de base de datos relacionalConceptos bsicosQue es un sistema de base de datos?El modelo RelacionalTerminologa relacional

    Tema 2: Introduccin al diseo de bases de datosComponentes de una base de datos SQL ServerNormalizar un diseo de base de datos

    . Lograr una base de datos bien diseada

    Relaciones entre entidades. Relaciones entre tablas uno-a-uno. Relaciones entre tablas uno-a-muchos. Relacin entre tablas muchos-a-muchos

    Tema 3: Elementos adicionales para el diseo una base de datos SQL ServerArchivos y Grupos de archivos

    . Reglas para disear Archivos y Grupos de archivos

    . Grupos de archivos predefinido

    . RecomendacionesRegistros de transaccionesAmbiente

    . Estimar el Tamao de una base de datos

    . Diseo fsico de la base de datosAlgunas consideraciones sobre instalacin de SQL Server

    . Seguridad

    . Planificar la Seguridad. Niveles de seguridad

    . Modos de autenticacin

    Tema 4: Identificar los requerimientos de diseoEl Proceso de Identificar los Requerimientos de diseoIdentificar las Metas del SistemaIdentificar la Cantidad y Tipos de DatosIdentificar Cmo se usarn los DatosIdentificar las Reglas Comerciales del Sistema

    Tema 5: Desarrollar un modelo lgico de base de datosIdentificar Entidades y Sus AtributosIdentificando Relaciones Entre las EntidadesIdentificar Restricciones sobre los Datos

    Ejercicios Prcticos

    Mdulo II: Implementar una base de datos y sus tablasTema 1: Crear y administrar una base de datos SQLServerMtodos para crear una base de datos SQLServer. El comando CREATE DATABASE. Usar el Enterprise Manager. El asistente Create Database

    Administrar una base de datos SQL Server. Ver informacin referida a la base de datos

    Modificar una base de datos. Configurar opciones de la base de datos

    Borrar una base de datos SQL Server

    Tema 2: Identificar Tipos de DatosTipos de datos provistos por el sistemaTipos de datos definidos por el usuario

    Tema 3: Crear y administrar tablas en SQL ServerCrear tablas en una base de datos SQL-Server

    . Determinar la anulabilidad de las columnas

    . Definir valores por defecto

    . Auto numeracin y columnas de identificacinCrear columnas de identificacinPropiedad IDENTITYIdentificadores globalmente nicos

    . Mtodos para crear tablasComando CREATE TABLE

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    Enterprise ManagerDatabase Designer (Diseador de base de datos)

    Administrar tablas de una base de datos SQL Server. Consultar informacin sobre tablas. Modificar tablas de una base de datos SQL Server. Borrar tablas de una base de datos SQL Server

    Tema 4: Implementar la integridad de los datosIntroduccin a la integridad de los datos

    . Asegurar la integridad de los datos

    . Tipos de Dato

    . Definiciones NOT NULL

    . Definiciones DEFAULT. Propiedades IDENTITY

    . Restricciones (constraints)

    . Reglas (rules)

    . Desencadenadores

    . IndicesTipos de Integridad de datos

    . Integridad de entidad

    . Integridad de dominio

    . Integridad referencial

    . Integridad definida por el usuarioImplementar restricciones de integridad

    . Introduccin a las restricciones de integridad

    . Restricciones PRIMARY KEYCrear restricciones PRIMARY KEY

    . Restricciones UNIQUECrear restricciones UNIQUE

    . Restricciones FOREIGN KEYCrear restricciones FOREIGN KEYDeshabilitar restricciones FOREIGN KEY

    . Restricciones CHECKCrear restricciones CHECKDeshabilitar restricciones CHECK

    Tema 5: Implementar ndicesIntroduccinArquitectura de los ndices

    . Propsito y estructura

    . Tipos de ndices

    . ndices agrupados

    . ndices no agrupados

    . Caractersticas de los ndicesUnicidad

    ndices compuestosFactor de llenadoSentido de ordenamiento

    . Informacin sobre ndices

    . Indexado Full-TextCrear y administrar ndices

    . Crear ndicesUsar interfase grficaUsar comandos Transact-SQL

    . Administrar ndicesEliminar un ndiceReconstruir un ndiceRenombrar un ndice

    . Elegir un ndicendices agrupadosndices no agrupados

    . Recubrimiento de ndice

    . ndices compuesto frente a ndices mltiples

    Mdulo III: Consultar y modificar datosTema 1: Principios de lgebra relacionalOperaciones relacionales

    . Restriccin

    . Proyeccin

    . Producto

    . Unin

    . Interseccin

    . Diferencia

    . Reunin

    . Divisin

    Clculo relacional

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    . Listas objetivo. Expresiones

    Tema 2: Consultar a los datos en una base de datos SQL ServerLos fundamentos del comando SELECTEl comando SELECT

    . Usar clusulas en la lista de seleccinLa clusula DISTINCTLa clusula TOP nLa clusula ASTipos de informacin en la lista de seleccin

    La clusula INTO

    La clusula FROMLas clusulas WHERE, GROUP BY, y HAVING. La clusula GROUP BY. Procesar las clusulas WHERE, GROUP BY , y HAVING

    La clusula ORDER BY

    Tema 3: Usar tcnicas de consulta avanzadas para acceder a los datosUsar combinaciones para recuperar datos

    . Combinaciones INNER

    . Combinaciones OUTERUsar LEFT OUTER JOINUsar RIGHT OUTER JOINUsar FULL OUTER JOIN

    . Definir subconsutas dentro del comando SELECT

    . Tipos de SubconsultasSubconsultas que son usadas con IN y NOT IN

    Subconsultas que son usadas con operadores de comparacinSubconsultas que son usadas con EXISTS y NOT EXISTSResumir datos

    . Usar el operador CUBE para resumir datos

    . Usar el operador ROLLUP para resumir datos

    Tema 4: Modificar datos en una base de datos SQL ServerInsertar datos en un base de datos SQL Server. Usar el comando INSERT para agregar datos

    Usar el comando INSERT...VALUES para agregar datosUsar una subconsulta SELECT para agregar datos

    . Usar un comando SELECT...INTO para agregar datos

    . Agregar texto o imgenes a filas ya insertadasModificar datos en una base de datos SQL Server

    . Usar el comando UPDATE para modificar datosUsar la clusula SET para modificar datosUsar la clusula WHERE para modificar datosUsar la clusula FROM para modificar datosModificar textos o imgenes

    Borrar datos de una base de datos SQL Server. Usar el comando DELETE para borrar datos. Usar el comando TRUNCATE TABLE para borrar datos

    Mdulo IV: Implementar procedimientos almacenadosTema 1: Introduccin a los procedimientos almacenadosPropsitos y ventajas de los Procedimientos Almacenados. Rendimiento

    Marco de programacinSeguridadCategoras de procedimientos almacenados

    . Procedimientos almacenados del sistema

    . Procedimientos almacenados locales

    . Procedimientos almacenados temporarios

    . Procedimientos almacenados extendidos

    . Procedimientos almacenados remotos

    Tema 2: Crear, ejecutar, modificar y borrar procedimientos almacenadosCmo se almacena un procedimientoMtodos para crear procedimientos almacenados

    . El comando CREATE PROCEDUREProveer a un procedimiento almacenado de un contextoCrear procedimientos almacenado temporariosAgrupar, levantar y encriptar procedimientos almacenadosEnterprise ManagerEl asistente para crear de procedimientos almacenadosCrear y agregar procedimientos almacenados Extendidos

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    Diferir la resolucin de nombresEjecutar un procedimiento almacenado

    . Llamar un procedimiento almacenado para ejecutarlo

    . Especificar parmeros y sus valores

    . Ejecutar prcedimientos almacenados cuando SQL Server arrancaModificar procedimientos almacenadosBorrar procedimientos almacenados

    Tema 3: Programar procedimientos almacenadosParmetros y variablesEl comando RETURN y el manejo de erroresValores por defecto y parmetros NULL

    Comprobar errores del ServerProcedimientos asidadosCursoresMtodos para recuperar datos

    Mdulo V: Conectarse a un SQL ServerTema 1: Comenzando con ADO - ActiveX Data Objects

    Tema 2: Modelo de objetos de ADO

    Tema 3: Objetos ADO

    Tema 4: Propiedades ADO

    MODULO I

    Tema 1:Teora de Sistema de Base de Datos Relacional

    Lo que aprender:

    Al terminar este tema usted podr: Entender los principales conceptos de la teora de base de datos relacionales

    Que es un sistema de base de datos?

    Un sistema de Base de Datos es bsicamente un sistema para archivar en computador; o sea, es un sistecomputarizado cuyo propsito general es mantener informacin y hacer que est disponible cuando sesolicite.La informacin en cuestin puede ser cualquier cosa que se considere importante para el individuo o laorganizacin a la cual debe servir el sistema; dicho de otro modo, cualquier cosa necesaria para apoyar eproceso general de atender los asuntos de esa organizacin.

    Pero es fundamental para el xito de su proyecto limitar el sistema de base de datos, que Ud. quiere disea un especfico y bien definido conjunto de objetos e interacciones; lo que le permitir definir el alcance dsistema. Como veremos mas adelante no se trata de modelizar "todo" el mundo sino solo la parte"importante" y "pertinente" para alcanzar los objetivos funcionales del sistema. Esa parte del mundo queinteresa la llamaremos el espacio del problema.El trmino modelo de datos se utilizar se utilizar para significar una descripcin conceptual del espacio problema, esto incluye la definicin de sus entidades, que son clases de objetos que comparten determincaractersticas (por ejemplo un "cliente" es una entidad), dichas caractersticas se las denomina atributos(por ejemplo el "nombre" del cliente es un atributo de un cliente).El modelo de datos incluye la descripcin de las interrelaciones entre las entidades y las restricciones sobdichas relaciones (por ej: las "facturas de venta" se emiten a nombre de un "cliente" y esta relacin no pfaltar, es decir , no puede haber una factura que no tenga asignada un cliente.La capa fsica o esquema fsico del diseo, est constituida por las tablas y vistas que sern implementad

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    y constituye la traslacin del modelo conceptual en una representacin fsica que pueda ser implementadutilizando el Sistema de Gestin de Bases de Datos Relacional (SGBDR) a ser empleado, a los fines delpresente Kit, el MS-SQL Server 2000. Este esquema no es mas que la representacin del modelo concepto lgico expresado en trminos que puedan ser usados para describirlo al SGBDR.A medida que Ud. le vaya explicando al SGBDR como quiere que almacene los datos, el SGBDR crear losobjetos necesarios para gestionarlos (tablas, vistas, ndices, relaciones, etc). Lo que dar origen a laestructura la base de datos.Por ltimo, llamaremos base de datos a la combinacin de los datos y su estructura. La base de datosincluye, entonces, a los datos mas las tablas, vistas, procedimientos almacenados, consultas, y a las reglque el motor de base datos utilizar para asegurar el resguardo de los datos.El trmino base de datos no incluye a la aplicacin la cual consiste de los formularios y los reportes con loque interactuarn los usuarios, ni incluye la piezas de cdigo usadas para unir las partes de la aplicacin.En un modelo de tres capas, la aplicacin que accede a los datos almacenados en una base de datos y qula vez interacta con el usuario se divide en dos partes: la llamada capa intermedia que contiene todas lavalidaciones y las reglas del negocio y es la que interacta con la base de datos y el front end que es la qcontiene los formularios y realiza la presentacin de los reportes, interactuando con el usuario final (verfigura 1.1).

    El modelo Relacional

    El modelo relacional est basado en una coleccin de principios matemticos desarrollado inicialmente soun conjunto de conceptos tericos y predicados lgicos. Esto principios fueron aplicados al campo de losmodelos de datos a finales de los aos 60 por el Dr. E. F. Codd, investigador de IBM, y publicados porprimera vez en 1970.El modelo relacional define el modo en que los datos van a ser representados (estructura de datos), la foen que van ser protegidos (integridad de los datos) y las operaciones que pueden ser aplicadas sobre ello(manipulacin de datos).El MS-SQLServer 2000 implementa un modelo relacional de base de datos.En trminos generales un sistema de base de datos relacional tiene las siguientes caractersticas: Todos los datos estn conceptualmente representados como un arreglo ordenado de datos en filas ycolumnas, llamado relacin. Todos los valores son escalares, esto es, que dada cualquier posicin fila/columa dentro de la relacin h

    uno y solo un valor. Todas las relaciones son realizadas sobre la relacin completa y dan como resultado otra relacin, conceconocido como clausura .A los fines prcticos una relacin puede ser considerada como una tabla, an cuando al momento deformularse la teora intencionalmente se excluy el trmino tabla por tener connotaciones de ordenamienque no se deben aplicar al concepto de relacin que es mas un conjunto, que una tabla ordenada. De todmodos y a los fines del presente Kit utilizaremos en forma indistinta la denominacin de relacin o de tabEs importante destacar que el concepto de clausura permite que el resultado de una operacin sobre unrelacin sea el dato para otra operacin. Por lo que como veremos mas adelante al resultado de una ordeselect se le puede aplicar otro select.

    Terminologa relacional

    La Figura 1.2 muestra una relacin con los nombres formales de sus componentes principales

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    La estructura de la figura constituye una relacin, donde cada fila constituye una tupla. La cantidad de tuen una relacin indica la cardinalidad de la relacin. Cada columna en la relacin es un atributo, y la cantde atributos indica el grado de la relacin.La relacin se divide en dos secciones el encabezado y el cuerpo, donde el encabezado contiene la etiquede los atributos. Estas etiquetas constan de dos parte separadas por dos puntos ":" la parte izquierda es denominacin propiamente dicha del atributo, mientras que la parte derecha configura el dominio del

    atributo, que es el conjunto de todos los valores posibles y legales que puede tomar el atributo en las tup(por ej: el primer atributo de la relacin de la figura tiene como dominio a todas las compaas que existemientras que solo algunas son valores efectivamente incorporados a la relacin).El cuerpo consiste en un conjunto desordenado de cero o ms tuplas, esto indica que las tuplas no tienenorden intrnseco, el nmero de registro no es tenido en cuenta en el modelo relacional. Por otro lado lasrelaciones sin tuplas siguen siendo relaciones. Por ltimo las relaciones son conjuntos donde cualquierelemento puede ser inequvocamente identificado, por lo que la relacin no permite tuplas duplicadas.En cuanto a la terminologa, en esta parte se utiliz una lenguaje formal para la definicin de los elementabordados, a partir de ahora se utilizarn las siguientes equivalencias de significado:Una relacin puede ser una tabla, o un recordset o un result set.Una tupla puede ser una fila (row) o un registro (record)Un atributo puede ser una columna (column) o un campo (field).Dichas equivalencias se generan porque al instanciar en la implementacin fsica el modelo conceptual, se

    utilizan trminos que corresponden precisamente al modelo fsico de implementacin en el SGBDR, en escaso el MS-SQLServer 2000, que utiliza la terminologa Microsoft.

    MODULO I

    Tema 2: Introduccin al diseo de bases de datos

    Lo que aprender:

    Al terminar este tema usted podr: Describir los componentes principales de una base de datos relacional. Describir el proceso de normalizacin y normalizar tablas en un diseo de bases de datos. Identificar las relaciones que existen entre las entidades.

    Antes de que usted pueda desarrollar un modelo lgico de datos, y subsecuentemente crear una base dedatos y los objetos que esta contiene, usted debe comprender los conceptos fundamentales del diseo debases de datos. Adems, deber estar familiarizado con los componentes bsicos de una base de datos ycmo esos componentes trabajan juntos para proporcionar un almacenamiento eficaz de los datos y acceaquellos que requieren tipos especficos de datos, en formatos especficos, desde la base de datos.

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    Este tema presenta los componentes bsicos de una base de datos y la terminologa que describe esoscomponentes. Se discute la normalizacin y el concepto de relaciones entre entidades, dos conceptos quedeben integrarse para entender el diseo de bases de datos relacionales.

    Componentes de una base de datos SQL Server

    Una base de datos SQL Server consiste en una coleccin de tablas que guardan conjuntos especficos dedatos estructurados. Una tabla (entidad) contiene una coleccin de filas (tuplas) y columnas (atributos). columna en la tabla se disea para guardar un cierto tipo de informacin (por ejemplo, fechas, nombres,

    montos, o nmeros). Las tablas tienen varios tipos de controles (restricciones, reglas, desencadenadoresvalores por defecto, y tipos de datos de usuario) que aseguran la validez de los datos. Las tablas puedentener ndices (similar a los de los libros) que permiten encontrar las filas rpidamente. Usted puede agregrestricciones de integridad referencial a las tablas para asegurar la consistencia entre los datosinterrelacionados en tablas diferentes. Una base de datos tambin puede utilizar procedimientos almacenque usan Transact-SQL programando cdigo para realizar operaciones con los datos en la base de datos,como guardar vistas que proporcionan acceso personalizado a los datos de la tabla.

    Por ejemplo, suponga que se crea una base de datos llamada MiCoBD para manejar los datos en sucompaa. En la base de datos MiCoBD, crea una tabla llamada Empleados para guardar informacin sobrcada empleado, y la tabla contiene las columnas EmpID, Apellido, Nombre, Dept, y Cargo. Para asegurarnunca dos empleados tengan el mismo EmpID y que la columna de Dept contiene nmeros slo vlidos plas secciones en su compaa, usted debe agregar restricciones a la tabla. Si usted quisiera realizar

    bsquedas rpidas para encontrar los datos de un empleado basado en el ID del empleado, usted definirndices. Por cada empleado, se agrega una fila de datos a la tabla Empleados, para esto usted crea que uprocedimiento almacenado llamado AgregarEmp que se personaliza para aceptar los valores de los datos un nuevo empleado y que realiza la operacin de agregar la fila a la tabla Empleados. Se podra necesitarresumen departamental de empleados, por lo que usted define una vista llamada EmpsDept que combinadatos de las tablas Secciones y Empleados. Figura 2.1 muestra las partes de la base de datos MiCoBD.

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    Figura 2.1 La base de datos MiCoBD, la tabla Empleados, y la vista EmpsDept

    Normalizar un diseo de base de datos

    A continuacin se ver el tema de normalizacin desde un punto vista prctico, resaltando aquellos concetiles y comentando las limitaciones que deben tenerse en cuenta en el proceso de normalizado de una bde datos.

    Perfeccionar un diseo de base de datos incluye el proceso de normalizacin. Normalizar un diseo lgicobase de datos involucra usar mtodos formales para separar los datos en mltiples tablas relacionadas. Tun nmero mayor de tablas con pocas columnas es caracterstico de una base de datos normalizada;mientras que tener pocas tablas con ms columnas cada una es caracterstico de una base de datos no-normalizada.

    Una normalizacin razonable mejora a menudo el comportamiento general del sistema. Cuando se utilizandices, el SQL Server 2000 Query Optimizer (Optimizador de Consultas de SQL Server) es muy eficiente seleccionar interrelaciones entre las tablas.Un aumento de la normalizacin produce una mayor cantidad y complejidad de combinaciones entre lastablas requeridas para recuperar los datos. Demasiadas combinaciones complejas entre varias tablas puedeteriorar el rendimiento en las consultas. Una normalizacin razonable debera incluir la mnima cantidadconsultas habituales posible que involucren ms de cuatro tablas relacionadas.

    Una base de datos que se usa principalmente para soporte de decisin (al revs de una base de datosoperacional que realiza tareas de actualizacin de datos) podra no tener actualizaciones redundantes ypodra ser ms entendible y eficaz para las consultas si el diseo no se normaliza totalmente. No obstanttener datos no-normalizados es el error de diseo ms comn en aplicaciones de base de datos ms quetener datos demasiado normalizados. Empezar con un diseo completamente normalizado y a partir de adesnormalizar selectivamente algunas tablas por razones especficas de rendimiento de las consultas es ubuena estrategia.

    A veces el diseo de la base de datos lgico ya est definido, tal el caso de una base de datos existente, rediseo total no es factible. Pero an entonces, podra ser posible normalizar una tabla grandeselectivamente en varias tablas ms pequeas. Si la base de datos es accedida a travs de los

    procedimientos almacenados, este cambio del esquema podra tener lugar sin afectar las aplicaciones. Si podra ser posible crear una vista que esconde de las aplicaciones el cambio del esquema.

    Lograr una base de datos bien diseada

    En la teora de diseo de base de datos relacionales, las reglas de normalizacin identifican ciertos atributque deben estar presentes o ausentes en una base de datos bien diseada. Estas reglas pueden ponersebastante complicadas y pueden ir ms all del alcance del presente. De todos modos, hay algunas reglas pueden ayudarlo a lograr un diseo de la base de datos correcto. Una tabla debe tener un identificador, dguardar datos para slo un solo tipo de entidad, debera evitar columnas que acepten valores nulos, y nodebe tener valores o columnas repetidas.

    Una Tabla debe Tener un Identificador

    La regla fundamental de la teora del diseo de base de datos es que cada tabla debe tener un identificadde las filas, que es una columna o un conjunto de columnas que toman valores nicos para cada registro la tabla. Cada tabla debe tener una columna de ID, y ningn registro puede compartir el mismo valor de con otro. La columna (o columnas) que sirve como identificador nico de la fila para una tabla constituye clave primaria de la tabla.

    En la Figura 2.2, la tabla Empleados no incluye una columna que identifica unvocamente cada fila dentrola tabla. Fjese que el nombre de David Mendlen aparece dos veces. Al no haber ningn identificador nicesta tabla, no hay ninguna manera de distinguir fcilmente una fila de otra. Esta situacin podra ser unproblema, ms an, si ambos empleados trabajaron en la misma seccin y tienen el mismo tipo de trabaj

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    Figura 2.2 Una tabla que no tiene ningn identificador nico.Usted puede normalizar la tabla agregando una columna que singularmente identifique cada fila, como semuestra en la Figura 2.3. Fjese que cada instancia de David Mendlen tiene un nico valor de EmpID.

    Figura 2.3 Una tabla normalizada con un identificador nico.Una Tabla debe Guardar Datos para un Solo Tipo de EntidadIntentar guardar demasiada informacin en una tabla puede afectar la administracin eficaz y fiable de lodatos en la tabla. Por ejemplo, en la Figura 2.4, la tabla Libros incluye informacin sobre cada editor delibros.

    Figura 2.4 Una tabla de libros que incluye ttulo e informacin del editor.

    Aunque es posible tener columnas que contienen informacin para el libro y su editor en la misma tabla, diseo lleva a varios problemas. La informacin del editor debe agregarse y debe guardarseredundantemente para cada libro publicado por un editor dado. Esta informacin usa espacio extra de

    almacenamiento en la base de datos. Si la direccin del editor cambia, el cambio debe realizarse en todosregistros de libros de ese editor. Adems, si el ltimo libro de un editor es eliminado de la tabla Libros, lainformacin de ese editor se pierde.

    En una base de datos normalizada, se guardara la informacin sobre los libros y editores en por lo menodos tablas: una para los libros y una para los editores (como se muestra en Figura 2.5).

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    Figure 2.5 Un diseo de la base de datos normalizado incluye una tabla para los libros y una tabla parainformacin sobre el editor.

    La informacin sobre el editor tiene que ser grabada slo una vez y quedar vinculada a cada libro de eseeditor. Si la informacin del editor cambia, debe cambiarse en slo un lugar, y la informacin del editorestar all an cuando el editor no tenga ningn libro en la base de datos.

    Una Tabla debe Evitar Columnas que acepten valores nulos

    Las tablas pueden tener columnas definidas para permitir valores nulos. Un valor nulo indica que el registno tiene valor por ese atributo. Aunque puede ser til permitir valores nulos en casos aislados, es mejorusarlos muy poco porque ellos requieren un manejo especial con el consiguiente aumento de la complejidde las operaciones de datos. Si tiene una tabla que tiene varias columnas que permiten valores nulos y vde las filas tienen valores nulos en dichas columnas, debera considerar poner estas columnas en otra tabvinculada a la tabla primaria. Guardar los datos en dos tablas separadas permite que la tabla primaria sesimple en su diseo pero a la vez mantener la capacidad de almacenar informacin ocasional.

    Una Tabla no Debe tener Valores o Columnas Repetidas

    Una tabla no debe contener una lista de valores para un pedazo especfico de informacin. Por ejemplo,suponga que usted quiere consultar los ttulos de libros y sus autores. Aunque la mayora de los librospodran tener slo un autor, muchos de ellos podran tener dos o ms. Si hay slo una columna en la tabLibros para el nombre del autor, esta situacin presenta un problema. Una solucin es guardar el nombreambos autores en una columna, pero mostrar una lista de autores individuales sera entonces difcil. Otrasolucin es cambiar la estructura de la tabla para agregar otra columna para el nombre del segundo autopero esta solucin guarda slo dos autores. Debera agregarse otra columna si algn libro tiene tres auto

    Figure 2.6 Dos modos de estructurar la tabla Libros

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    Si usted encuentra que necesita guardar una lista de valores en una sola columna o si tiene columnasmltiples para una sola pieza de datos (Autor1, Autor2, y as sucesivamente), debe considerar poner losdatos duplicados en otra tabla con un vnculo a la tabla primaria. En el caso de la tabla Libros, usted podrcrear una tabla primaria adicional para los autores y luego crear una tercera tabla que vincule los libros aautores y almacene los valores repetidos, como se muestra en la Figura 2.7. Este diseo habilita cualquienmero de autores para un libro sin modificar la definicin de la tabla y no desperdicia espacio libre paraalmacenar libros que tienen un solo autor.

    Figura 2.7 Tres tablas que guardan informacin sobre los libros y sus autores.

    Relaciones entre entidades

    En una base de datos relacional, las relaciones entre entidades ayudan a prevenir datos redundantes. Unrelacin entre entidades trabaja vinculando datos de dos tablas a travs de columnas clave, quegeneralmente tienen el mismo nombre en ambas tablas. En la mayora de los casos, la relacin entreentidades vincula la clave primaria de una tabla que proporciona a un identificador nico para cada fila couna entrada en la clave fornea de la otra tabla. Se discuten claves primarias y las claves forneas en mdetalle en Tema 5, "Llevando a cabo Integridad de los Datos."

    Hay tres tipos de relaciones entre las tablas: uno-a-uno, uno-a-muchos, y muchos-a-muchos. El tipo derelacin depende de cmo se definen las columnas relacionadas.

    Relaciones entre tablas uno-a-uno

    En una relacin uno-a-uno, una fila en tabla A no tiene ms de una fila vinculada en tabla B (y viceversa)Una referencia uno-a-uno se crea si las dos columnas relacionadas son claves primarias o tienen restriccide unicidad. Este tipo de referencia no es comn, sin embargo, porque la informacin relacionada de estamanera normalmente estara en una sola tabla.

    Relaciones entre tablas uno-a-muchos

    Una relacin uno-a-muchos es el tipo ms comn de relacin entre entidades. En este tipo de relacin, ufila en la tabla A tiene muchas filas vinculadas en la tabla B, pero una fila en la tabla B tiene una nica fil

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    vinculada en la tabla A. Por ejemplo, las tablas Editores y Ttulo mencionadas previamente tienen unarelacin uno-a-muchos. Cada editor produce muchos ttulos, pero cada ttulo tiene un solo editor. Unarelacin uno-a-muchos se crea si solo una de las columnas relacionadas es una clave primaria o tiene unarestriccin de unicidad.

    Relacin entre tablas muchos-a-muchos

    En una relacin muchos-a-muchos, una fila en tabla A tiene muchas filas vinculadas en tabla B (y viceverSe puede crear tal relacin definiendo una tercera tabla, llamada tabla de unin cuya clave primaria cons

    en las claves forneas de ambas tablas A y B. En las Figuras 2.6 y 2.7, usted vio cmo la informacin delautor puede separarse en otra tabla. La tabla Libros y la tabla Autores tienen una relacin muchos-a-mucCada una de estas tablas tiene una relacin uno-a-muchos con la tabla de LibrosAutores que sirve como ltabla de la unin entre las dos tablas primarias.

    Ejercicio 1: Explorando los Conceptos Bsicos de Diseo de la base de datos

    En este ejercicio, usted ver los objetos primarios que estn contenidos en una base datos SQL Server. Uaplicar los principios de normalizacin a un diseo de la base de datos e identificar las relaciones queexisten entre las entidades dentro de una base de datos.

    Resumen del tema

    Una base de datos SQL Server consiste en una coleccin de tablas que guardan un conjunto especfico dedatos estructurados. Una tabla contiene una coleccin de filas y columnas. Cada columna en la tabla sedisea para guardar un cierto tipo de informacin (por ejemplo, fechas, nombres, montos, o nmeros). Ediseo lgico de la base de datos, incluyendo las tablas y las relaciones entre ellas, es el corazn de una de datos relacional optimizada. Perfeccionar un diseo de base de datos incluye el proceso de normalizacNormalizar un diseo lgico de base de datos lgico involucra usar mtodos formales para separar los daten mltiples tablas relacionadas. A medida que la normalizacin aumenta, incrementa el nmero y lacomplejidad de los vnculos que son necesarios para recuperar los datos. Las reglas de normalizacinidentifican ciertos atributos que deben estar presentes o ausentes en una base de datos bien diseada. Latablas en una base de datos normalizada deben tener un identificador, deben guardar slo datos para un tipo de entidad, deben evitar columnas que acepten valores nulos, y no deben tener valores o columnasrepetidos. Usted puede crear relaciones entre sus tablas en un diagrama de la base de datos y mostrar c

    se vinculan las columnas en una tabla a las columnas de otra tabla. En una base de datos relacional, lasrelaciones ayudan a prevenir datos redundantes. Una relacin trabaja vinculando datos de las columnas,generalmente columnas clave que tienen el mismo nombre en ambas tablas. Hay tres tipos de relacionesentre las tablas: uno-a-uno, uno-a-muchos, y muchos-a-muchos. El tipo de relacin entre tablas dependecmo usted define las columnas relacionadas.

    MODULO I

    Tema 3: Elementos adicionales para el diseo una base de datos SQL Server

    Lo que aprender:

    Al terminar este tema usted podr: Describir los factores que se deben tener en cuenta al disear una base de datos SQL Server.

    Al disear una base de datos SQL Server, se deben tener en cuenta varios factores, que incluyen los archde la base de datos y grupos de archivos, registros de transacciones, la instalacin del SQL Server y suambiente operativo, y la seguridad. Esta leccin discute cada uno de estos temas.

    Archivos y Grupos de archivosPara definir una base de datos, SQL Server 2000 usa un conjunto de archivos del sistema operativo. Todo

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    los datos y objetos de la base de datos, como tablas, procedimientos almacenados, desencadenadores, yvistas, se guardan dentro de los siguientes tipos de archivos del sistema operativo:Archivo Primario. Este archivo contiene la informacin de arranque para la base de datos y es usado paralmacenar datos. Cada base de datos tiene un archivo de los datos primario.Archivo Secundario.Estos archivos mantienen todos los datos que no caben en el archivo de los datosprimario. Si el archivo primario puede almacenar todos los datos da la base de datos, las bases de datos necesitan tener archivos de los datos secundarios. Algunas bases de datos podran ser lo suficientementegrandes para necesitar archivos de datos secundarios mltiples o usar archivos secundarios en unidades disco separadas para distribuir datos en mltiples discos o para mejorar el rendimiento de la base de dato Registros de transacciones. Estos archivos mantienen la informacin del registro que se usa para recupela base de datos. Debe haber por lo menos un archivo de registro para cada base de datos.

    Una base de datos simple puede crearse con un archivo primario que contiene todos los datos y objetos yarchivo de registro que contiene la informacin del registro de transacciones.

    Alternativamente, una base de datos ms compleja puede crearse con un archivo primario y cinco archivosecundarios. Los datos y objetos de la base de datos son distribuidos por los seis archivos, y cuatro archide registro adicionales contienen la informacin del registro de transacciones.

    Los grupos de archivos agrupan archivos para propsitos administrativos y de ubicacin de datos. Porejemplo, tres archivos (Data1.ndf, Data2.ndf, y Data3.ndf) pueden crearse en tres unidades de disco ypueden asignarse al grupo de archivos fgroup1. Una tabla puede crearse entonces especficamente en el

    grupo de archivos fgroup1. Las consultas sobre los datos de la tabla se extendern por los tres discos y smejorar el rendimiento. La misma mejora de rendimiento puede lograrse con un solo archivo creado sobun arreglo redundante de discos independientes (RAID).

    Los archivos y grupos de archivos, sin embargo, ayudan a agregar nuevos archivos fcilmente a los nuevdiscos. Adicionalmente, si su base de datos excede el tamao del mximo para un solo archivo Windows usted puede usar un archivo de datos secundario para permitir el crecimiento de su base de datos.

    Reglas para disear Archivos y Grupos de archivos

    Cuando usted disea archivos y grupos de archivos, debe adherir a las reglas siguientes: Un archivo o grupo de archivos no puede ser usado por ms de una base de datos. Por ejemplo, los

    archivos que ventas.mdf y ventas.ndf que contienen datos y objetos de la base de datos de ventas nopueden ser usados por cualquier otra base de datos. Un archivo puede ser un miembro de slo un grupo de archivos. Los datos y la informacin de registro de transaccin no pueden ser parte del mismo archivo o grupo dearchivos. Los archivos de registro de transacciones nunca son parte de un grupo de archivos.

    Grupos de archivos predefinidos

    Una base de datos comprende un grupo de archivos primario y varios grupos de archivo definidos por elusuario. El grupo de archivos que contiene el archivo primario es el grupo de archivos primario. Cuando ubase de datos se crea, el grupo de archivos primario contiene el archivo de datos primario y cualquier otr

    archivo que no se pone en otro grupo de archivos. Todas las tablas del sistema se asignan en el grupo dearchivos primario. Si el grupo de archivos primario se queda sin espacio, ninguna informacin nueva delcatlogo puede agregarse a las tablas del sistema. El grupo de archivos primario slo se llenar si la bandde configuracin "autogrow" est apagada o si todos los discos que estn sosteniendo los archivos en elgrupo de archivos primario se quedaron sin espacio. Si sucede esto, se deber encender la bandera deconfiguracin "autogrow" o mover archivos a un nuevo almacenamiento para liberar mas espacio.

    Los grupos de archivos definidos por el usuario son cualquier grupo de archivos que son especficamentecreados por el usuario cuando l o ella estn inicialmente creando o posteriormente alterando la base dedatos. Si un grupo de archivos definido por el usuario se llena, se afectarn slo las tablas de los usuariosespecficamente asignadas a ese grupo de archivos.

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    En cualquier momento, un grupo de archivos puede ser designado como el grupo de archivos predefinidoCuando se crean objetos en la base de datos sin especificar a que grupo de archivos pertenecen, se asignal grupo de archivos predefinido. Los grupos de archivos predefinidos deben ser suficiente grandes paraalmacenar cualquier objeto no asignado a un grupo de archivos definido por el usuario. Inicialmente, el gde archivos primario es el grupo de archivos predefinido.Los grupos de archivos predefinidos pueden ser cambiados usando la sentencia ALTER DATABASE. Cuandusted cambia el grupo de archivos predefinido, cualquier objeto que no tiene un grupo de archivosespecificado se asigna a los archivos de los datos en el nuevo grupo de archivos predefinido cuando se crLa asignacin para los objetos y tablas del sistema, sin embargo, se mantiene en el grupo de archivosprimario y no en el nuevo grupo de archivos predefinido.Cambiar el grupo de archivos predefinido previene que objetos del usuario que no se crean especficamenen un grupo de archivos definidos por el deban competir con los objetos y tablas del sistema para el espade los datos.

    Recomendaciones

    Al implementar una base de datos, usted debe intentar adherir a las pautas siguientes para usar archivosgrupos de archivos: La mayora de las bases de datos trabajar bien con un solo archivo del datos y un solo archivo de regisde transacciones. Si usted usa archivos mltiples, cree un segundo grupo de archivos para los archivos adicionales yconfigrelo como el grupo de archivos predefinido. De esta manera, el archivo primario contendr slo ta

    y objetos del sistema. Para maximizar rendimiento, usted puede crear archivos o grupos de archivos en tantos discos fsicoslocales disponibles como sea posible, y ubicar grandes objetos que compiten por espacio en grupos dearchivos diferentes. Use grupos de archivos para habilitar la colocacin de objetos en discos fsicos especficos. Ubique las diferentes tablas que se usan para una misma consulta en grupos de archivos diferente. Esteprocedimiento mejorar el rendimiento al tomar ventaja del procesamiento paralelo de input/output del d(I/O) al buscar datos vinculados. Ponga las tablas fuertemente accedidas y los ndices no-agrupados que pertenecen a esas tablas en grude archivos diferentes. Este procedimiento mejorar el rendimiento debido al I/O paralelo si los archivos localizan en discos fsicos diferentes. No ponga el archivo de registro de transacciones en el mismo disco fsico con los otros archivos y grupo

    archivos.Registros de transacciones

    Una base de datos en SQL Server 2000 tiene por lo menos un archivo de datos y un archivo de registro dtransacciones. Los datos y la informacin del registro de transacciones nunca es mezclada en el mismoarchivo, y archivos individuales son slo por una nica base de datos.

    El SQL Server usa el registro de transacciones de cada base de datos para recuperar transacciones. Elregistro de transacciones es un registro serial de todas las modificaciones que han ocurrido en la base dedatos as como de las transacciones que realizaron dichas modificaciones. El archivo de registro detransacciones graba el comienzo de cada transaccin y archiva los cambios producidos en los datos. Esteregistro tiene bastante informacin para deshacer las modificaciones (si es necesario) que hizo durante ctransaccin. Para algunas operaciones pesadas, como CREATE INDEX, el registro de transacciones registren cambio, los hechos a los que la operacin dio lugar. El registro crece continuamente tanto comooperaciones ocurran en la base de datos.El registro de transacciones graba la asignacin y liberacin de las pginas y la grabacin definitiva (como la vuelta atrs (rollback) de cada transaccin. Este capacidad permite al SQL Server rehacer (Rollup) odeshacer (Rollback) cada transaccin de las siguientes maneras: Una transaccin es rehecha cuando se aplica un registro de transacciones. El SQL Server copia la imageposterior a cada modificacin de la base de datos o vuelve a ejecutar sentencias como CREATE INDEX. Esacciones se aplican en el mismo orden en la que ellas ocurrieron originalmente. Al final de este proceso, lbase de datos est en el mismo estado que estaba en el momento en que el registro de transacciones fuecopiado. Una transaccin se deshace cuando una transaccin queda incompleta por alguna causa. El SQL Server

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    copia la imagen previa de todas las modificaciones a la base de datos desde el BEGIN TRANSACTION. Siencuentra archivos de registro de transacciones que indican que un CREATE INDEX fue ejecutado, realizaoperaciones que lgicamente invierten la sentencia. stos imgenes previas Ye inversiones del comandoCREATE INDEX son aplicados en orden inverso a la secuencia original.

    A un punto de salvaguarda, el SQL Server asegura que se han grabado en el disco todos los archivos deregistro de transacciones y las pginas de la base de datos que se modificaron. Durante cada proceso derecuperacin de base de datos, que ocurre cuando el SQL Server se reinicia, una transaccin necesita serrehecha slo si no se conoce si todas las modificaciones de datos de la transaccin fueron realmentetransferidas desde el cach de SQL Server al disco. Debido a que en un punto de salvaguarda se obliga atodas las pginas modificadas sean efectivamente grabadas en el disco, este representa el punto que se tcomo punto de inicio para el comienzo de las operaciones de recuperacin. Dado que para todas las pginmodificadas antes del punto de salvaguarda se garantiza que estn en el disco, no hay ninguna necesidadrehacer algo que se hizo antes del punto de salvaguarda.

    Las copias de respaldo del registro de transacciones le permiten a usted que recupere la base de datos almomento de un punto especfico (por ejemplo, previo a entrar en datos no deseados) o a un punto de falLas copias de respaldo del registro de transacciones deben ser tenidas muy en cuenta dentro de su estratde recuperacin de bases de datos.

    Ambiente

    Generalmente, cuanto ms grande es la base de datos, mayores son los requisitos de hardware. El diseola base de datos siempre debe tomar en cuenta la velocidad del procesador, el tamao de la memoria, y espacio del disco duro y su configuracin. Hay otros factores determinantes, sin embargo: el nmero deusuarios o sesiones coexistentes, el registro de transacciones, y los tipos de operaciones a realizar sobre base de datos. Por ejemplo, una base de datos que contiene datos de la biblioteca escolar con escasosniveles de actualizacin generalmente tendr requisitos de hardware ms bajos que un almacn de datosun-terabyte que contiene ventas, productos, e informaciones de los clientes frecuentemente analizados, puna gran corporacin. Aparte de los requisitos de almacenamiento de disco, se necesitar ms memoria yprocesadores ms rpidos para levantar en memoria grandes volmenes de datos del almacn de datos yprocesar mas rpidamente las consultas.

    Estimar el Tamao de una base de datos

    Al disear una base de datos, usted podra necesitar estimar cun grande ser la base de datos cuando ellena de informacin. Estimar el tamao de la base de datos puede ayudarle a determinar la configuracinhardware que usted necesitar para alcanzar los siguientes requisitos: Lograr el rendimiento requerido por sus aplicaciones Asegurar la cantidad fsica apropiada de espacio en disco para guardar los datos y ndices

    Estimar el tamao de una base de datos tambin puede llevarlo a determinar si el diseo de la base de dnecesita mayor refinamiento. Por ejemplo, usted podra determinar que el tamao estimado de la base dedatos es demasiado grande para ser implementada en su organizacin y que requiere mayor normalizaciRecprocamente, el tamao estimado podra ser ms pequeo que el esperado, permitiendo denormalizarcierto grado la base de datos para mejorar el rendimiento de las consultas.

    Para estimar el tamao de una base de datos, estime el tamao de cada tabla individualmente y sume divalores. El tamao de una tabla depende si la tabla tiene o no ndices y, en este caso, qu tipo de ndices

    Diseo fsico de la base de datos

    El subsistema de entrada/salida (motor de almacenamiento) es un componente importante de cualquier bde datos relacional. Una aplicacin de base de datos exitosa normalmente requiere una planificacincuidadosa en las fases tempranas de su proyecto. El motor de almacenamiento de una base de datosrelacional requiere de esta planificacin que incluye a lo siguiente: Qu tipo de hardware de disco ser utilizado Cmo distribuye sus datos en los discos

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    Qu diseo de ndices se va a utilizar para mejorar el rendimiento de las consultas. Cmo se van a configurar apropiadamente todos los parmetros de configuracin para que la base de dfuncione correctamente.

    Instalacin de SQL Server

    Aunque la instalacin de SQL Server est ms all del alcance de este Kit de Entrenamiento, usted siempdebe tener en cuenta lo siguiente antes de realizar una instalacin: Est seguro que la computadora rene los requisitos de sistema para SQL Server 2000.

    Haga copias de respaldo de su instalacin actual de Microsoft SQL Server si usted est instalando SQLServer 2000 en la misma computadora. Si usted est instalando un failover cluster, desactive el NetBIOS en todas las tarjetas de la red privadaantes de ejecutar el instalador de SQL Server. Repase todas las opciones de instalacin de SQL Server y este preparado para hacer las seleccionesapropiadas cuando ejecute el instalador. Si usted est usando un sistema operativo que tiene configuraciones regionales diferentes a ingls (EstaUnidos), o si usted est personalizando el juego de caracteres o la configuracin del ordenamiento de loscaracteres, revise los temas referidos a la configuracin de colecciones.Antes de ejecutar el instalador de SQL Server 2000, cree uno o ms cuentas de usuario del dominio si usest instalando SQL Server 2000 en una computadora con Windows NT o Windows 2000 y quiere que SQServer 2000 se comunique con otros clientes y servidores.

    Usted debe iniciar el sistema operativo bajo una cuenta de usuario que tiene permisos locales deadministrador; por otra parte, usted debe asignar los permisos apropiados a la cuenta de usuario de domEst seguro de cerrar todos los servicios dependientes sobre SQL Server (incluso cualquier servicio que uODBC, como el Internet Information Server, o IIS). Adems, cierre al Windows NT Event Viewer y a losvisualizadores de la registry (Regedit.exe o Regedt32.exe).

    Seguridad

    Una base de datos debe tener un sistema de seguridad slido para controlar las actividades que puedenrealizarse y determinar qu informacin puede verse y cul puede modificarse. Un sistema de seguridadslido asegura la proteccin de datos, sin tener en cuenta cmo los usuarios obtienen el acceso a la basedatos.

    Planificar la Seguridad

    Un plan de seguridad identifica qu usuarios pueden ver qu datos y qu actividades pueden realizar en lbase de datos. Usted debe seguir siguientes los pasos para desarrollar un plan de seguridad: Liste todas los items y actividades en la base de datos que debe controlarse a travs de la seguridad. Identifique los individuos y grupos en la compaa. Combine las dos listas para identificar qu usuarios pueden ver qu conjuntos de datos y qu actividadepueden realizar sobre la base de datos.

    Niveles de seguridad

    Un usuario atraviesa dos fases de seguridad al trabajar en SQL Server: la autenticacin y autorizacin(aprobacin de los permisos). La fase de la autenticacin identifica al usuario que est usando una cuentainicio de sesin y verifica slo su capacidad para conectarse a un instancia de SQL Server. Si la autenticatiene xito, el usuario se conecta a una instancia de SQL Server. El usuario necesita entonces permisos pacceder a las bases de datos en el servidor, lo que se obtiene concediendo acceso a una cuenta en cada bde datos (asociadas al inicio de sesin del usuario). La validacin de los permisos permite controlar lasactividades que el usuario puede realizar en la base de datos SQL Server.

    Modos de autenticacin

    El SQL Server puede operar en uno de dos modos de seguridad (autenticacin): la Autenticacin de Windy el modo Mixto. El modo de Autenticacin de Windows le permite a un usuario que se conecte a travs d

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    una cuenta de usuario Windows NT 4.0 o Windows 2000. El modo mixto (Autenticacin de Windows yAutenticacin de SQL) le permite a los usuarios que conecten a una instancia de SQL Server usandoAutenticacin de Windows o Autenticacin de SQL Server. Los usuarios que se conectan a travs de unacuenta del usuario Windows NT 4.0 o Windows 2000 pueden hacer uso de conexiones de confianza en elmodo de Autenticacin de Windows o en el modo mixto.

    Resumen del tema

    Al disear una base de datos SQL Server, se deben tener en cuenta varios factores, que incluyen los arch

    de la base de datos y grupos de archivos, registros de transacciones, la instalacin del SQL Server y suambiente operativo, y la seguridad. Todos los datos y objetos de la base de datos, como tablas,procedimientos almacenados, desencadenadores, y vistas, se guardan dentro de los archivos primario,secundarios, dentro del registro de transacciones. Los grupos de archivos agrupan archivos para propsitadministrativos y de ubicacin de los datos. El grupo de archivos que contiene el archivo primario es el grde archivos primario. Una base de datos en SQL Server 2000 tiene al menos un archivo de datos y un arcde registro de transacciones. Datos y la informacin del registro de transacciones nunca se mezclan en elmismo archivo, y los archivos individuales son utilizados por solo una base de datos. El SQL Server usa eregistro de transacciones de cada base de datos para recuperar transacciones. El diseo de la base de dasiempre debe tomar en consideracin la velocidad de procesador, la memoria, y el espacio del disco duroconfiguracin. Hay otros factores determinantes, sin embargo: el nmero de usuarios o sesionescoexistentes, el registro de transacciones, y los tipos de operaciones a realizar sobre la base de datos Aldisear una base de datos, usted podra necesitar estimar cun grande ser la base de datos cuando este

    llena de informacin. Al instalar SQL Server, usted debe tener en cuenta varios problemas. Una base dedatos debe tener un sistema de seguridad slido para controlar las actividades que pueden o no realizarsdeterminar qu informacin puede verse y cul puede modificarse. Un diseo de seguridad identifica quusuarios pueden ver qu datos y qu actividades pueden realizar sobre la base de datos.

    MODULO I

    Tema 4: Identificar los requerimientos de diseo

    Lo que aprender:

    Al terminar este tema usted podr:

    Identificar las metas y el alcance de un proyecto de base de datos. Identificar los tipos de datos que manejar la base de datos, la cantidad actual de datos, el crecimientoesperado, y cmo se usan actualmente. Identificar cmo se usarn los datos en la nueva base de datos. Identificar cualquier regla comercial que se utilizar en el sistema.

    El Proceso de Identificar los Requerimientos de diseo

    El proceso de identificar los requerimientos del sistema incluye una variedad de pasos. El nmero de pasoincluidos en este proceso, cmo estos pasos se definen, y la forma en que ellos se definen puede variargrandemente de recurso a recurso (sin que un mtodo sea necesariamente es el ms correcto). Segn elpropsito de este kit de entrenamiento, este proceso ha sido dividido en cuatro tareas primarias: Identificar la metas del sistema Identificar la cantidad y los tipos de datos Identificar cmo se usarn los datos Identificar las reglas comerciales

    Usted necesariamente no tiene que realizar esta una tarea por vez. Por ejemplo, mientras identifica lacantidad y los tipos de datos, usted podra determinar cmo se usarn los datos y qu restricciones debeasociarse a dichos datos. La Figura 4.1 ilustra el proceso de identificar los requerimientos de diseo.

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizac

    Figure 4.1 Identificar los requerimientos del sistema.

    Identificar las Metas del SistemaDisear una base de datos requiere de un entendiendo de las funciones comerciales que usted quieresoportar. Tanto como sea posible, su diseo de la base de datos debe modelar el negocio con precisin. Esignificativamente costoso en tiempo tratar de cambiar el diseo de una base de datos una vez que se haimplementado. Una base de datos bien diseada obtiene el mayor rendimiento. Al disear una base de dausted debe considerar el propsito de la base de datos y cmo este afecta el diseo. En otras palabras, udebe determinar las metas del nuevo sistema. Por qu est creando usted esta base de datos?

    Las metas del sistema son las razones por las qu usted est implementando la nueva base de datos. Parcrear un diseo de base de datos eficaz, usted debe tener conocimiento completo y profundo del trabajo se espera que la base de datos haga. Sin esta comprensin, usted no puede tomar decisiones informadassobre cmo la base de datos debe ser diseada.

    Determinar las metas del sistema no siempre es un proceso directo. La mayora de los proyectos dedesarrollo de bases de datos tienen muchas metas (tangibles e intangibles), y intentar descubrirlos puedetomar a menudo una cantidad importante de trabajo de investigacin. Por ejemplo, una compaa industrpodra decidir automatizar su proceso de administracin de inventario. Uno de las metas declaradas de lacompaa para el proyecto es "para hacer mas fcil manejar el inventario."

    Su trabajo es tomar esta meta intangible y intentar determinar la meta tangible subyacente. Quiere lacompaa acelerar el proceso de administracin del inventario? Quiere rastrear inventario ms conprecisin? Quiere reducir costos? La meta intangible de "hacindolo ms fcil" podra incluir todos stasmetas ms tangibles y algunas otras.

    Aunque estas metas son ms tangibles, ellas todava son vagas. Las metas vagas tienden a ser declaradatrminos generales, como "aumento de productividad" o "mejora del rendimiento" Cuando usted pasa poproceso de identificar metas, usted debe determinar el grado al que estas metas deben lograrse. Si la mees aumentar productividad, usted debe intentar determinar el grado en que esas metas deben lograrse.Siempre que sea posible, sus metas deben ser directamente mensurables.

    Usted debe ser consciente, sin embargo, de los peligros que se presentan al medir ciertas metas. A menupara determinar una meta mensurable, usted debe poder establecer una medida inicial. Por ejemplo, si umeta de la base de datos de inventario es mejorar la exactitud, podra consumir muchos recursos estudiacunta inexactitud existe en el proceso actual. Un estudio de esta clase podra abarcar aos de historia dinventario y quizs podra costar ms que disear e implementar cabo la base de datos. En casos comostos, podra ser mejor hablar primero con gerentes y tenedores de libros para lograr un sentido general

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    donde estn los problemas y lo que puede hacerse para resolverlos. Al determinar que hasta que punto umedida base debe ser estudiada, usted debe tener presente la balanza del proyecto y su aplicacin prctimanteniendo siempre un sentido de proporcin.

    A veces, las metas intangibles pueden ser difciles de traducir en metas ms tangibles. Esta situacin esparticularmente cierta para metas que adoptan la jerga del mercadeo popular. Por ejemplo, la metadeclarada podra ser algo que no parece tener ningn significado o relevancia: "Nosotros queremos el nuesistema para mostrar a nuestros clientes que estamos pensando de manera innovadora y siguiendo latendencia de ellos, para as mejorar el posicionamiento del producto." En estos casos, usted debe trabajaestrechamente con la organizacin para definir eso claramente que significan las metas declaradas.

    Despus de que usted ha definido las metas iniciales para la nueva base de datos, usted puede continuardeterminando el tipo y la cantidad de datos que el sistema soportar. Sin embargo, cuando usted avanceel proceso de diseo de la base de datos, deber estar preparado para reevaluar estas metas. Cuando losproyectos avanzan, la direccin cambia, los requerimientos comerciales cambian, y se revisan lasexpectativas de la compaa. Como resultado, las metas evolucionan, lo cual significa que el diseo de labase de datos podra necesitar ser modificado. Usted tambin podra descubrir, cuando usted excava msprofundamente en el proyecto, que algunas metas son inalcanzables o impropias. Dado que surgen nuevacomprensiones y nueva informacin a ser administrada, usted debe prepararse a actuar de acuerdo con e

    Identificar la Cantidad y Tipos de Datos

    La cantidad y tipos de datos que su base de datos guardar pueden afectar el rendimiento de la base dedatos y debe tenerse en cuenta al crear su base de datos. La cantidad de datos, por supuesto, afecta eltamao de su base de datos, y los tipos de datos son un factor que determina los tipos de restricciones qse incorporarn al diseo de la base de datos.

    En muchos casos, determinar la cantidad y tipos de datos es un proceso directo porque un sistema antiguya se encuentra funcionando y usted simplemente est actualizando o reemplazando ese sistema. En estasituaciones, usted puede examinar el cuerpo de datos que ya existen.

    En los casos en los que usted est llevando a cabo un nuevo sistema, o uno que radicalmente altera eltrabajo, su labor podra ser un poco ms difcil porque podra tener que gastar una importante cantidad dtiempo en determina qu tipos de datos se guardarn y cunto datos habr. Usted podra necesitar

    entrevistar a los participantes importantes y coleccionar copias de documentos pertinentes y formas, comfacturas de venta, los listados de inventario, los informes de direccin, y cualquier otro documento que esusndose actualmente.

    Usted debe determinar el volumen de datos que el sistema manejar. Cuando examine el volumen de datdebe identificar la cantidad actual de datos y su modelo de crecimiento. Por ejemplo, un almacn podrallevar slo unos mil artculos actualmente, pero podra estar planeando agregar varios centenar al da durlos prximos aos para aumentar la artculos disponibles en el stock. Otro almacn podra llevar millonesartculos pero podra planear agregar slo unos nuevos artculos al da y nunca permitir que el inventariovaya mucho ms all de su capacidad actual. Los modelos de crecimiento para estos dos sistemas son mdiferentes, y como resultado, el diseo variar.

    Al mirar los tipos de datos, usted est bsicamente intentando conseguir un sentido general de las categode informacin que usted estar guardando y qu detalles sobre las categoras son necesarios guardar. Eproceso lo preparar por exponer las entidades y atributos que usted incorporar en su diseo de la basedatos. Por ejemplo, si usted est desarrollando una base de datos para un minorista de la ropa, los tipos datos podran incluir informacin sobre clientes que compran productos de la tienda. La informacin delcliente podra incluir nombres, direcciones, nmeros de telfono, y incluso las preferencias de estilo.

    A estas alturas en el proceso del diseo, usted no tiene que ponerse demasiado especfico sobre cmo decategorizarse los datos o deben agruparse. Usted est intentando ganar un sentido general de los tipos ddatos involucrados y creando una lista centralizada para esos tipos de datos. Cuando usted empiece aidentificar realmente los objetos de la base de datos, usted tomar la informacin que recogi aqu y la upara desarrollar un modelo de datos.

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    Identificar Cmo se usarn los Datos

    Cuando usted recoge los requerimientos del sistema, usted debe determinar cmo se usar la informacisu base de datos. El propsito de este paso es identificar quin estar usando los datos, el nmero deusuarios que estarn accediendo a los datos, y las tareas que ellos estarn realizando cuando accedan esdatos.

    Al determinar quin estar usando los datos, usted debe pensar en trminos de categoras de usuarios. Pejemplo, una categora de usuarios podra ser el pblico general (quin accede a los datos a travs del

    Internet). Usted tambin podra tener otra categora de usuarios que acceden datos a travs del intranet la compaa. Algunas organizaciones podran tener slo un tipo de usuario, mientras otras organizacionespodran tener muchos tipos. No hay ningn mnimo fijo o nmero del mximo de usuarios que cada categdebe contener. Las nicas limitaciones son aquellas dictadas por configuraciones del hardware y diseo dbase de datos. Una categora podra contener a slo un usuario, mientras otra categora podra contener 100.000 usuarios.

    Cuando usted determina quin estar usando los datos, usted tambin debe identificar cuntos usuarios ecada categora estarn accediendo a los datos. Esta estimacin no slo debe incluir los nmeros actualespero los valores proyectados, tambin. Adems, usted tendr que definir la concurrencia de los usuarios.Usted debe saber que cuntas personas se conectarn a la vez a la base de datos y cuntos podra estarintentando actualizar simultneamente la base de datos.

    Una vez que ha definido quines y cuntos son sus usuarios, usted debe identificar las tareas que ellosestarn realizando cuando acceden a la base de datos. Por ejemplo, suponga que una compaa industriaincluye una categora de usuarios que toman rdenes de clientes. Este grupo de tomadores de ordenes depoder acceder y actualizar informacin del cliente. Adems, deben poder ver los datos del inventario parahacer los pedidos. La compaa tambin podra incluir una categora de usuarios de recursos humanos. Egrupo de recursos humano debe poder ver y actualizar informacin del empleado. Identificando estas tareusted puede determinar cmo ser accedida la base de datos y cmo se vern y manipularn los datos.Cuando usted combina esta informacin con el nmero y tipo de usuarios, usted podr llevar a cabo undiseo de la base de datos que satisface las necesidades de todos en la organizacin.

    Identificar las Reglas Comerciales del Sistema

    Al identificar las reglas comerciales, usted est determinando las restricciones que gobiernan cmo debenmanejarse y protegerse los datos y el sistema. Estas restricciones se refieren van ms all que la integridindividual de los atributos de la entidad. Las reglas comerciales son mucho ms amplias e incorporan todlas restricciones del sistema, incluidas la integridad de los datos y la seguridad del sistema. En otraspalabras, usted est definiendo lo que cada categora de usuarios puede o no puede hacer.

    Volviendo al ejemplo de la compaa industrial, el grupo de tomadores de rdenes pueden acceder yactualizar registros de los clientes y ver los datos de inventario. Sin embargo, usted podra determinar questos usuarios no deben poder actualizar datos del inventario y no deben poder ver datos de los empleadUsted tambin podra determinar que ningn archivo del cliente puede crearse sin que se complete ladireccin de envo y el nmero de telfono. Otra restriccin podra ser que cualquier artculo agregado a uorden del cliente debe quitarse del inventario. Las reglas comerciales pueden incluir un amplio espectro d

    restricciones, algunas que pertenecen en conjunto al sistema y otras que pertenecen a los tipos especficode datos.

    Resumen del temaAntes de que usted pueda desarrollar a un modelo del datos, usted debe identificar las metas de su proyede base de datos, el tipo y cantidad de datos con los que usted estar trabajando, cmo se usarn esosdatos, y cualquier restriccin comercial que deber existir sobre los datos. Usted debe considerar el propde la base de datos y cmo afecta el diseo. Usted debe tener una comprensin clara de por qu usted ecreando esta base de datos. Otra rea de preocupacin cuando se estn identificando los requerimientos sistema es la cantidad y tipo de datos que su base de datos almacenar. Cualquier sea el sistema actual,usted debe determinar el volumen de datos que el sistema manejar. Cuando examina el volumen de losdatos, usted debe determinar la cantidad real de datos y su modelo de crecimiento. Al mirar los tipos dedatos, usted est intentando conseguir un sentido general de las categoras de informacin que bsicame

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    se estarn guardando y qu detalles sobre las categoras son necesarios guardar. Cuando usted recogerequerimientos del sistema, usted debe identificar quin estar usando los datos, el nmero de usuarios qestarn accediendo a los datos, y las tareas que ellos estarn realizando sobre esos datos. Al identificar larestricciones sobre los datos, usted estar determinando las reglas comerciales que gobiernan cmo debemanejarse y protegerse los datos. Las reglas comerciales incluyen tanto la integridad de los datos as comseguridad del sistema. Ellos le permiten definir lo que cada categora de usuarios puede y no puede hace

    MODULO I

    Tema 5: Desarrollar el Modelo Lgico de Datos

    Lo que aprender:

    Al terminar este tema usted podr: Identificar entidades y sus atributos. Identificar relaciones entre las entidades.

    Definir restricciones en los datos.

    Identificar Entidades y Sus Atributos

    Cuando se recogen los requisitos del sistema para al diseo de la base de datos, uno de los pasos que serealizan es el de definir los tipos de datos que contendr la base de datos. Pueden separarse estos tipos ddatos en categoras que representan una divisin lgica de informacin. En la mayora de los casos, cadacategora de tipo de dato se traduce en un objeto tabla dentro de la base de datos. Hay normalmente, unconjunto de objetos primarios, y despus de que ellos son identificados, surgen los objetos relacionados.

    Por ejemplo, en la base de datos Editores, uno de los objetos primarios es la tabla Titulos. Uno de los objrelacionado a la tabla Ttulos es la tabla de RoyAgenda que proporciona informacin sobre la agenda de

    royalties asociada con cada libro. Otro objeto es la tabla TituloAutor que vincula a los autores con los libro

    Usando las categoras de datos definidas en los requisitos del sistema, se puede empezar a crear un mapdel objeto tabla dentro de la nueva base de datos. Por ejemplo, suponga que usted est diseando una bde datos para el sistema de reservaciones de un hotel. Durante el proceso de recoleccin de requisitos desistema, identifica varias categoras de datos, incluido los cuartos, huspedes, y reservaciones. Comoresultado, agrega tablas a su diseo de la base de datos que representan a cada una de estas categorascomo se muestra en la Figura 5.1.

    Figura 5.1 Los objetos primarios en un diseo de la base de datos: la tabla Habitaciones, la tabla Reservala tabla Huespedes.

    Al identificar las reglas comerciales para este sistema, usted determin que el hotel tiene ocho tipos decuartos y que los huspedes regulares prefieren un cierto tipo de cuarto. Como resultado, tanto la tablaHabitaciones como la tabla Huespedes debern incluir un atributo de tipo de cuarto. Usted decide crear utabla para los tipos del cuarto, como se muestra en Figura 5.2.

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    Figura 5.2 La base de datos de reservaciones del hotel que incluye la tabla de TipoHab.

    Ahora, la tabla Habitaciones y la tabla Huespedes referencian a la tabla TipoHab sin tener que repetir unadescripcin del cuarto para cada cuarto y cada husped. Adems, ante un cambio en los tipos de cuarto,usted puede actualizar la informacin en un solo lugar, en lugar de tener que actualizar mltiples tablas yarchivos.

    Antes de que usted pueda completar el proceso de definir objetos de la tabla dentro de la base de datos,debe definir las relaciones entre las tablas. Siempre que identifique una relacin muchos-a-muchos, tend

    que agregar una tabla de unin. Se discuten relaciones con ms detalle adelante en este tema.

    Despus de que usted ha definido todas las tablas que puede definir a estas alturas, puede definir lascolumnas (atributos) para esas tablas. De nuevo, usted estar tomando esta informacin directamente drequisitos del sistema en los que identific qu tipos de datos deben ser incluidos en cada categora deinformacin.

    Usando el ejemplo de base de datos del hotel, suponga que determin durante el proceso de recoleccin requisitos del sistema que la categora Huespedes debe incluir informacin la siguiente informacin sobrehuspedes: nombre, apellido, direccin, nmero de telfono, y preferencias del cuarto. Como resultado,usted planea agregar columnas a la tabla de los Huespedes para cada uno de estos tipos de informacin.Usted tambin planea agregar un identificador nico para cada husped, tal como con cualquier entidad

    normalizada. La Figura 5.3 muestra la tabla Huespedes con todas las columnas que contendr la tabla.

    Figura 5.3 La tabla Huespedes y sus atributos.

    Identificar Relaciones Entre las Entidades

    Despus de que ha definido las tablas y sus columnas, usted debe definir las relaciones entre las tablas. Atravs de este proceso, podra descubrir que necesita modificar el diseo que ha creado.Empiece escogiendo una de las tablas primarias y seleccionando las entidades que tienen relaciones con etabla. Siguiendo con el ejemplo del hotel, asuma que los requisitos del sistema indican que todas las

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    reservaciones deben incluir cuarto e informacin del husped. Los cuartos, huspedes, y reservaciones solas categoras de datos. Como resultado, usted puede deducir que una relacin existe entre los cuartos yreservaciones y entre los huspedes y reservaciones. La Figura 5.4 muestras las relaciones entre estosobjetos. Una lnea que conecta las dos tablas significa una relacin. Advierta que una relacin tambin exentre la tabla Habitaciones y la tabla TipoHab y entre la tabla Huespedes y la tabla TipoHab.

    Figura 5.4 Las relaciones que existen entre las tablas en la base de datos de las reservaciones del hotel.

    Una vez que establece que una relacin existe entre las tablas, usted debe definir el tipo de relacin. En lFigura 5.4, cada relacin (lnea) es marcada a cada extremo (donde conecta a una tabla) con el nmero con un smbolo de infinito (8). El 1 se refiere al lado uno de una relacin, y el smbolo de infinito se refierlado muchos de una relacin uno-a-muchos. Algunos autores tambin las llaman relaciones 1:N.

    Para determinar los tipos de relaciones que existen entre las tablas, usted debe mirar los tipos de datos qcada tabla contiene y los tipos de conexiones entre ellos. Por ejemplo, una relacin existe entre la tabla

    Huespedes y la tabla Reservas. La relacin existe porque los huspedes son parte de la informacin que srecaba cuando se registra una reservacin. Segn las reglas comerciales, un husped puede hacer una o reservaciones, pero cada reservacin grabada puede incluir solo el nombre de un husped, normalmente persona que est haciendo la reservacin. Como resultado, una relacin uno-a-muchos existe entre las dtablas: un husped, una o muchas reservaciones.

    Una relacin tambin existe entre la tabla Reservas y la tabla Habitaciones. Segn las reglas comercialesuna reservacin puede solicitar uno o ms cuartos, y un cuarto puede ser incluido en una o msreservaciones (en fechas diferentes). En este caso, existe una relacin muchos-a-muchos: muchasreservaciones a muchos cuartos. En un diseo de base de datos normalizado, sin embargo, relacionesmuchos-a-muchos deben ser modificadas agregando una tabla de unin y creando una relacin uno-a-muchos entre cada tabla original y la tabla de unin, como se muestra en la Figura 5.5.

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    Figura 5.5 La tabla de HabReservas como tabla de unin entre la tabla Habitaciones y la tabla Reservas.

    Identificar Restricciones sobre los Datos

    A estas alturas del proceso de diseo de la base de datos, usted debera tener definidas las entidades, suatributos, y las relaciones entre entidades. Ahora, usted debe identificar las restricciones sobre los datos se guardarn en las tablas. El mayor trabajo ya fue completado cuando usted identific las reglas comercal momento de recoger los requisitos del sistema. Como se vio, las reglas comerciales incluyen todo lasrestricciones en un sistema, incluida la integridad de los datos y la seguridad del sistema. Para esta fase proceso de diseo, su enfoque se centrar en las restricciones sobre los datos. Usted tomar las reglascomerciales relacionadas a los datos y las refinar y organizar. Debe intentar organizar las restriccionesbase a los objetos que cre en la base de datos, y formularlas de modo que se refieran a ellos.

    Volviendo al diseo de la base de datos de la Figura 5.5, suponga que una de las reglas comerciales indic"Un registro de husped puede, pero no es obligatorio, incluir una preferencia por uno de los tipos de cua

    predefinidos pero no puede incluir ninguna otra preferencia de tipo de cuarto." Al definir las restriccionessobre los datos, usted debe referenciar las tablas y columnas pertinentes y dividir la regla comercial de mque cada restriccin est contenida en una instruccin simple: La columna de TipoHabID en la tabla Huespedes no requiere un valor. Todo valor distinto de NULL en la columna de TipoHabID en la tabla Huespedes debe ser un valor incluiden la columna de TipoHabID en la tabla de TipoHab. Una fila en la tabla de los Huespedes puede incluir slo un valor en la columna de TipoHabID.

    En cuanto sea posible, usted debe organizar las restricciones sobre los datos segn las tablas y suscolumnas. En algunos casos, una restriccin se aplica al conjunto de una tabla, a ms de una tabla, a unarelacin entre las tablas, o a la seguridad de los datos. En estos casos, intente organizar las restriccionesmodo que sea lgica y ms pertinente al proyecto. La meta de identificar las restricciones sobre los datostener un mapa claro del camino para cuando se creen los objetos de la base de datos y sus relaciones qufuerce la integridad de los datos

    MODULO I

    Ejercicio 1: Identificar los Requerimientos de Diseo de la base de datos

    En este ejercicio, usted repasar el siguiente caso. De la informacin descripta en el caso, usted identificalos requerimientos del sistema para el diseo de la base de datos. Usted estar usando este caso y el

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    resultado de este ejercicio en ejercicios subsecuentes. El producto final ser la base de datos que usted hdiseado y ha llevado a cabo en SQL Server. Dado usted necesita guardar el resultado de este ejercicio, sembargo, que usted podra querer copiarlo en un archivo de su procesador de palabras o archivo de texto

    NOTAAl disear un sistema de la base de datos relacional, sus especificaciones del diseo incluyen a menudo laaplicaciones que son necesarias para acceder a los datos. Para los propsitos de este kit de entrenamientsin embargo, los ejercicios se enfocarn en disear y llevar a cabo slo el componente de la base de datodel sistema entero.

    Caso de una librera

    El gerente de una librera pequea le ha pedido disear y llevar a cabo una base de datos que centralizainformacin para que sea ms fcil y ms eficaz de manejar el inventario, las rdenes de pedido y las venLa tienda maneja libros raros y agotados y tiende a llevar slo unos mil ttulos en cualquier momento.Actualmente, el gerente registra todas las ventas y el inventario en papel. Para cada libro, el gerente escel ttulo, autor, editor, la fecha de la publicacin, edicin, costo, precio minorista sugerido, y una valoracique indica el estado del libro. A cada libro se le asigna una de las siguientes valoraciones: extraordinario,excelente, bueno, justo, pobre, o daado. Al gerente le gustara poder agregar una descripcin a cadavaloracin (slo un par de frases), pero la descripcin no debe ser obligatoria. La informacin sobre cadalibro debe incluir el ttulo, autor, costo, precio minorista sugerido, y valoracin. El editor, fecha de la

    publicacin, y edicin no siempre estn disponibles. Si el ao en que un libro fue publicado est disponiblao nunca ser anterior al 1600. Y para los propsitos del nuevo sistema de la base de datos, la fecha depublicacin se nunca caer despus del ao 2099.

    Dado que estos libros son raros, cada ttulo debe registrarse individualmente, an si son el mismo libro (tidntico, autor, editor, fecha de la publicacin, y edicin). Actualmente, el gerente asigna un nico ID a clibro para que puedan diferenciarse ttulos idnticos. Este ID debe ser incluido con la informacin del libroID de libro asignado por el gerente es un ID de ocho caracteres compuestos de nmeros y letras.

    El gerente tambin mantiene informacin limitada sobre cada autor de los libros que han pasado por latienda. La tienda podra tener ms de un libro por autor, y a veces un libro a sido escrito por de un autorgerente mantiene informacin actualmente de aproximadamente 2500 autores. La informacin incluye el

    nombre del autor, el apellido, ao de nacimiento, y ao de muerte (si es aplicable). La informacin debeincluir como mnimo el apellido del autor. Al gerente le gustara incluir una descripcin breve de cada autcuando la dispone, cuando un autor se agrega a la lista. La descripcin normalmente no exceder a una odos frases.

    La librera tiene 12 empleados (incluidos el gerente y su asistente). El gerente espera contratar a unempleado adicional todos los aos durante los prximos aos. El gerente y su asistente deben poder accey modificar informacin sobre cada empleado. La informacin del empleado debe incluir el nombre, elapellido, direccin, el nmero de telfono, fecha de nacimiento, fecha de ingreso, y cargo en la tienda. Locargos incluyen a Gerente, Asistente de Gerente, Empleado de Ventas Full Time Lleno, y Empleado de VePart Time. El gerente podra querer en algn momento agregar un nuevo cargo a la lista o cambiar uno qexiste y le gustara en el futuro agregar una descripcin breve de los deberes del trabajo a cada cargo (p

    menos, a algunos de los cargos). Un empleado puede tener slo un cargo en un momento dado. Ningnempleado, fuera de los dos gerentes, debe tener acceso a la informacin del empleado. Al gerente le gustambin registrar cuntos y qu libros est vendiendo cada empleado.

    La librera mantiene informacin actualmente sobre los clientes. Para cada cliente, la informacin incluye nombre del cliente, apellido, nmero de telfono, direccin de correo de envo, libros que el cliente hacomprado, y fecha de la compra. Dado que a algunos clientes no les gusta repartir informacin personal, el nombre o el apellido son obligatorios. El gerente tiene actualmente una lista de aproximadamente 200clientes. No todos los clientes que son incluidos en la lista han comprado libros, aunque la mayora s.

    El gerente mantiene un registro de ventas de cada pedido con datos sobre la fecha del pedido y la fecha dcuando se complet la venta. En algunos casos, como con los clientes sin pedido previo, estos dos eventoocurren concurrentemente. Cada orden debe incluir informacin sobre el libro vendido, el cliente que com

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    el vendedor que vendi, la cantidad de la venta, y la fecha de la orden. La orden tambin debe incluir lafecha en que el libro debe ser entregado o retirado. Una orden se completa cuando el libro se ha pagado retirado de la tienda o enviado al cliente. Un libro no puede sacarse de la tienda o puede enviarse a menoque se haya pagado. Cada orden incluye el mtodo del pago y el estado de la orden. Los mtodos del pagincluyen dinero en efectivo, cheque, y tarjetas del crdito. Los estados de una orden pueden ser uno de lsiguientes: (1) para ser enviado, (2) a ser retirado por el cliente, (3) enviado, o (4) retirado. Una ordenpuede tener slo un cliente, vendedor, fecha del orden, fecha de la entrega, mtodo de pago, y estado deorden; sin embargo, una orden puede contener uno o ms libros.

    Actualmente, se generan rdenes, se rastrean, y se modifican en formas de orden en papel. Las formas susan para asegurarse que los rdenes se envan (si es aplicable) y para mantener un registro de ventas.Siempre que un libro se agrega a una orden, es eliminado de la lista del inventario. Este proceso ha sido tedioso y no siempre eficaz. Esta situacin tambin puede llevar a confusin y errores. Al gerente le gustque los libros vendidos permanecieran en la lista de libros pero marcados para mostrar de algn modo qulibro se ha vendido.La tienda vende aproximadamente 20 libros al da. La tienda est abierta cinco a la semana poraproximadamente 10 horas por da. Hay uno a dos vendedores que trabajan al mismo tiempo, y hay doscontadores de ventas donde las personas retiran y pagan por los libros y donde se procesan las rdenes dlos vendedores. Siempre est en la tienda al menos uno de los dos gerentes.

    El gerente espera que las ventas aumenten aproximadamente un 10 por ciento al ao. Como resultado, enmero de libros disponible, autores, y clientes debern todos aumentar en la misma proporcin.

    Para servir a los clientes eficazmente, cada empleado debe poder acceder a una fuente centralizada deinformacin sobre los autores, libros, clientes, y rdenes. Actualmente, los empleados acceden a estainformacin a travs de las tarjetas del ndice y de listas. A menudo, estas listas no estn actualizadas, ytienen errores. Adems, cada empleado debe poder crear, rastrear, y modificar un pedido online, en lugatener que mantener las formas de orden en papel. Sin embargo, slo los gerentes deben poder modificarinformacin sobre los autores, libros, y clientes.

    Para identificar metas del sistema1. Repase el caso. No intente memorizar todos los detalles; en cambio, intente conseguir un sentido genede lo que el proyecto est intentando lograr.

    2. Apunte las metas del sistema que usted puede identificar en el caso.Cules son esas metas?3. Repase cada meta para determinar si es mensurable.Qu metas son mensurables?

    Para identificar la cantidad y tipo de datos1. Apunte las categoras de datos que usted puede identificar en este caso.Qu categoras de datos puede identificar?

    2. Para cada categora de datos que identific en el Paso 1, apunte el tipo de informacin que usted deberegistrar para cada categora.Qu tipo de informacin puede identificar?

    3. Para cada categora de datos que identific en el Paso 1, apunte la cantidad actual de datos por categoCul es el volumen de datos para cada categora?

    4. Para cada categora de datos que identific en el Paso 1, apunte el modelo de crecimiento esperado.Cul es el modelo de crecimiento para cada categora?

    Para identificar cmo se usarn los datos1. Apunte las categoras de usuarios que puede identificar en este caso.Cules son esas categoras de usuarios?

  • 5/21/2018 SQL SERVER 2000 Dise o, Implementaci n, Conexi n, Consulta y Actualizaci n de ...

    http:///reader/full/sql-server-2000-diseno-implementacion-conexion-consulta-y-actualizaci

    2. Para cada categora de usuario que identific en el Paso 1, apunte el nmero de usuarios.Cul es el nmero actual de usuarios y el nmero proyectado de usuarios en cada categora?

    3. Para cada categora de usuario que identific en el Paso 1, apunte las tareas que ellos realizan.Qu tareas realizar cada tipo de usuario?

    Para identificar reglas comerciales1. Apunte las reglas comerciales que usted puede identificar en este caso.Cules son las reglas comerciales?

    MODULO I

    Ejercicio 2: Desarrolle un Modelo Lgico de Datos

    En este ejercicio, usted se entrenar en los pasos necesarios para crear un modelo lgico de datos. Este

    ejercicio involucra dibujar las tablas, entidades, y relaciones entre entidades que constituyen la base dedatos. Aunque usted puede usar un programa del dibujo como Visio para crear estos objetos; papel y unlpiz es todo que usted realmente necesita. Si lo desea, usted puede transferir luego su modelo a unprograma del dibujo. Adems, usted necesitar papel y un lpiz para escribir las restricciones a los datosTambin puede escribirlos directamente en un documento de un procesador de palabras. Cualquiera que el mtodo que usted escoja, deber guardar el resultado para los ejercicios subsecuentes. Para realizar eejercicio, usted usar el caso de la tienda de libros de Ejercicio 1 del Tema 4 de este mdulo.

    Para identificar qu tablas agregar a una base de datos1. Refirase a los requisitos de diseo que usted desarroll para el caso de la tienda de libros y apunte lacategoras de datos.Cada categora representa uno de los objetos tabla primario