Fundamentos en el diseño de bases de datos con MS SQL Server 2012
1. Fundamentos en el diseño de bases de datos con
MS SQL Server 2012
José Redondo - @redondoj | jredondo@solidq.com
Chapter Leader “SQL PASS Venezuela” | Data Platform Architect “SolidQ”
Senior Consultant “SynergyTPC”
Blog: http://redondoj.wordpress.com/
2. AGENDA
• Conceptos
• Características
• Componentes
• Demo “Distribución de una base de datos”
• Propuesta
• Demo “Diseño de una tabla de datos”
• Validación de escenarios de datos en ejecución
• Demo “Entidad relacionada – Maestros de Productos”
• Conclusiones
18. CONCLUSIONES
• Tener definido el objetivo principal de la base de datos
• Establecer y distribuir escenarios de ejecución acorde a su fin
• Generar estructuras de datos según propósito del negocio
• Validar la integridad de los datos
La agenda contenida en esta presentación se encuentra desglosada de la siguiente manera:ConceptosCaracterísticasComponentesDemoPropuestaDemoValidación de escenarios de datos en ejecuciónDemoConclusiones
Una Base de datos es una colección de data. La data esta típicamente organizado para modelar aspectos relevantes de la realidad (disponibilidad de habitaciones en un hotel, o asientos en un vuelo), de tal manera que de soporte a algún proceso que requiera esta información (una aplicación que busque habitaciones libres en un hotel, o agencia de viajes buscando asientos libres en un vuelo). El Motor de Base de datos de Microsoft SQL Server es un servicio que permite almacenar y procesar data ya sea en un formato relacional o como documentos XML. Sistemas de Manejo de base de datos (Database managementsystems,DBMSs), son aplicaciones diseñadas para interactuar con el usuario, otras aplicaciones o la propia base de datos para capturar y analizar data. Es un software que permite la definición, creación, consulta, actualización y administración de las bases de datos.Como mínimo, todas las bases de datos de SQL Server tienen dos archivos en el sistema operativo: un archivo de datos y un archivo de log de transacciones. Los archivos de datos contienen datos y otros objetos, como tablas, índices, procedimientos almacenados y vistas. Los archivos de log de transacciones contienen la información necesaria para recuperar todas las transacciones de la base de datos. Los archivos de datos se pueden agrupar en grupos de archivos para su asignación y administración.
Un modelo de base de datos es un tipo de modelado de datos que determina la lógica de la estructura de una base de datos y fundamentalmente determina de que manera la data puede ser guardada, organizada y manipulada. El ejemplo mas popular del modelado de base de datos es el modelo relacional, que es un formato basado en tablas.El Modelo de Red es una manera flexible de representar objetos y sus relaciones, si característica distintiva es que permite que cada record tenga múltiples records padres e hijos.El Modelo Jerárquico es un modelo de data en donde la data esta organizada en un estructura parecida a un árbol. La estructura representa la información usando relaciones padre-hijos, cada padre puede terne muchos hijos, pero cada hijo puede tener solo un padre (también conocido como relación de 1-a-muchos)El Modelo Relacional es un modelo matemático para describir la estructura de la data, la data esta almacenada en tablas lo que oculta completamente la organización física de la data, el propósito de este modelo es proveer un método declarativo para especificar data y consultas, es decir, los usuarios directamente definen que información contiene la base de datos y que información quieren de ella, y dejan a al sistema de administración de base de datos se haga cargo de definir la estructura de los datas para su almacenamiento y de los procedimientos de retiro para responder a las consultas.El Modelo analítico o Multidimensional es una variación de modelo relacional que usa estructuras multidimensionales para organizar data y expresar relaciones entre la data, la estructura es dividida en cubos y los cubos son capaces de almacena y acceder data dentro de los confines de cada cubo, esto le permite a los usuarios analizar data multidimensional interactivamente desde varias perspectivas.
El diseño de las bases de datos se clasifica en:El schema Conceptual, e su mapa de conceptos de la data y sus relaciones dentro de la base de datos, esto describe la semántica de la data. Una vez que el diseñador esta consiente de la data que se esta almacenando dentro de la base de datos, el debe determinar donde hay algún tipo de dependencia con esta data.La estructuración lógica de la data, una vez que la relaciones y dependencias entre la piezas de información halla sido determinada, es posible organizar a data dentro de estructuras lógicas como tablas que almacenan la data en filas y columnas.El Diseño Físico de la base de datos especifica la configuración física de la base de datos en el medio de almacenamiento. Esto incluye detalles como archivos de datos, Paginas, Indices.
Instancias:Cada instancia de SQL Server consta de un conjunto de servicios distintos con una configuración específica para intercalaciones y otras opciones. La estructura de directorios, la estructura del Registro y los nombres de los servicios reflejan todos el nombre de instancia y un identificador de instancia específico que se crearon durante la instalación de SQL Server. SQL Server admite varias instancias de SQL Server en un solo servidor o procesador, pero solo una puede ser la predeterminada. Todas las demás deben ser instancias con nombre. Un equipo puede ejecutar varias instancias de SQL Server simultáneamente y cada instancia se ejecuta independientemente de las otras instancias.ObjetosUna tabla es set de data (Valores) organizados de manera vertical por columnas (cada una identificada con un nombre) y de manera horizontal por filas. Una tabla es la estructura básica para almacenar la data de usuario en una base de datos.Un índice es una estructura de data que mejora la velocidad de la operaciones de consulta de datos en una tabla. Los índices pueden ser creados usando unos o mas columnas previendo la base par ambos lookupsramdon y acceso de rangos ordenado de los datos.Una vista es una tabla virtual, es el resultado de una consulta almacenada, que los usuarios pueden usar al igual que cualquier otro objeto persistente. A diferencia de una tabla la vista no forma parte del schemafisico.Un stored procedure es un grupo nombrado de comandos SQL almacenados como un objeto en la base de datos.Una función de usuario permite definir una función TSQL que acepta 0 o mas parámetros para devolver un valor scalar o una tabla como resultado. Los stored procedures y las funciones son similares, la mayor diferencia es que el UDF puede usarse como cualquier otra expresión dentro de los comandos SQL, mientras que el stored procedure debe ser invocado por un comando de llamada. (EXECUTE por ejemplo)Lenguajes: T-SQL: Es un lenguaje de computo estandarizado que nos permite realizar búsquedas, alterar y definir bases de datos utilizando atributos declarativos, a su vez, incluyendo programación procedual, variables locales, funciones de soporte para diversos procesamientos en general.ANSI SQL: Primera versión estándar de SQL llamado SQL-86 que todavía se puede utilizar en el motor de base de datos.XML: Lenguaje de marcas que permite definir la gramática de lenguajes específicos para estructurar documentos grandes dando soporte a las bases de datos..NET: Marco de trabajo en el desarrollo de aplicaciones haciendo énfasis en la transparencia de redes, con independencia de plataforma de hardware, permitiendo el rápido desarrollo de aplicaciones. Lenguajes como VB.NET y C#.NET con sus emblemas entre otros.XQuery: Lenguaje de consulta establecido para el manejo de colecciones de datos XML.
Finalidad: El objetivo fundamental del propósito de crear la base de datosLevantamiento de Información: Reunir y recopilar toda la información pertinente al contexto el cual le servirá a la base de datos cumplir su rol.Organizar (Diseño): Dividir la información en tablasConvertir elementos de información en columnasEspecificar las claves principales de cada uno de las entidadesDefinir relaciones entre tablas
Integridad referencial: Reglas de normalización aplicada a todas las entidades involucradas en la base de datos, validando las relaciones que existen entre ellas.Restricciones: Establecer normativas de legalidad en la data ha almacenar en las tablas de datos, permitiendo con esto, la forma como el motor de datos exige a los usuarios de forma automática la pulcritud del contenido registrado en la misma.Ejemplos: Números de teléfonos, Número de DNI y/o Cédula, Códigos de Productos entre otras.