domingo, 19 de junio de 2016

BASE DE DATOS EN MICROSOFT SQL SERVER


CONTENIDO

Definición
Microsoft SQL Server Definición Caracteristicas Microsoft SQL Server es un Sistema Gestor de Bases de datos relacionales (SGBD) que además ahora en sus versiones más actuales cuenta con diferentes tipos de herramientas incorporadas en el programa, está basado en el lenguaje Transact-SQL y es capaz de poner grandes cantidades de información a muchos usuarios simultáneamente y de manera muy rápida. 
Almacena datos de documentos estructurados, semiestructurados o no estructurados como imágenes, música y archivos directamente dentro de la base de datos.
Características
·         Soporte de transacciones.
·         Escalabilidad, estabilidad y seguridad.
·         Soporta procedimientos almacenados.
·         Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.
·         Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información.
·         Además permite administrar información de otros servidores de datos.


Base de datos del sistema (master, model, tempdb, etc)

MASTER, MSDB, MODEL, TEMPDB, DISTRIBUTION y MSSQLSYSTEMRESOURCE. ¿Qué función tiene cada una de las bases de datos del sistema? ¿Para qué sirve MASTER? ¿Para qué sirve TEMPDB? ¿Para qué sirve MODEL? ¿Para qué sirve MSSQLSYSTEMRESOURCE? Este capítulo explica cuál es la función de cada una de las base de datos del sistema, algo de vital importancia para conocer SQL Server, su funcionamiento, consideraciones cara al diseño de planes de contingencia (backup y restores) y optimización de rendimiento (tunning) de base de datos, etc.

SQL Server incluye varias bases de datos del sistema (MASTER, MSDB, MODEL, TEMPDB, DISTRIBUTION, MSSQLSYSTEMRESOURCE), cada con unas finalidades específicas, que a continuación se indican:
  • MASTER. ¿Para que sirve MASTER? Almacena información de configuración de la instancia de SQL Server, como puede ser la definición de los inicios de sesión (Logins), de las bases de datos, de los errores del sistema, etc. Hay que tener en cuenta, que no toda la configuración de la instancia se almacena en MASTER, pues por ejemplo, el modo de autenticación (Windows o Mixto) se almacena en el registro.
    También contiene los procedimientos almacenados extendidos, y muchos otros procedimientos almacenados del sistema sólo disponibles en MASTER.
  • MSDB. ¿Para que sirve MSDB? Principalmente tiene la función de dar soporte al Agente de SQL Server, de tal modo que almacena la definición y planificación de JOBs, Planes de Mantenimiento, etc. (incluyendo su historial de ejecución), así como almacena la definición de otros objetos como Operadores, Alertas, etc. Esto implica, que el Agente de SQL Server, que cómo sabemos es un servicio de Windows, se conectará a esta base de datos, y por ello será necesario parar el Agente de SQL Server si deseamos hacer un RESTORE de la misma, pues necesitaremos exclusividad.
    Sin embargo, MSDB también se utiliza cuando el Agente de SQL Server no está presente, como es el caso de SQL Express (que no incluye éste servicio) o en los casos en que no se utiliza (ej: el Agente de SQL Server está parado). Por poner ejemplos, siempre que se realiza una copia de seguridad (BACKUP DATABASE o BACKUP LOG) o una restauración (RESTORE DATABASE o RESTORE LOG), se almacena en MSDB (tablas backupfile, backupfilegroup, backupmediafamily, backupmediaset, backupset, restorefile, restorefilegroup, restorehistory).
    Por último, también permite servir de ubicación de almacenamiento de paquetes DTS (SQL Server 2000) y DTSX (SQL Server 2005 - SSIS).
  • MODEL. ¿Para que sirve MODEL? Esta base de datos sirve de modelo. Siempre que se crea una nueva base de datos (CREATE DATABASE), se realiza una copia de la base de datos MODEL, heredando de ésta su configuración y contenido, salvo que se especifique lo contrario. Por ejemplo, es posible establecer el Modo de Recuperación o Modo de Registro de MODEL en SIMPLE (o sencillo), con el fin de evitar que al crear una base de datos por defecto se utilice el Modo de Recuperación FULL (completo).
  • TEMPDB. ¿Para qué sirve TEMPDB? Almacena tanto los objetos temporales (tablas temporales, procedimientos almacenados temporales, etc.), como los resultados intermedios que pueda necesitar crear el motor de base de datos, por ejemplo durante la ejecución de consultas que utilizan las cláusulas GROUP BY, ORDER BY, DISTINCT, etc.
    Además, TEMPDB se crea de nuevo siempre que se inicia la instancia SQL Server, tomando su tamaño por defecto. Dado que según necesite más espacio, TEMPDB crecerá hasta el tamaño que necesite, y dado que el crecimiento de un fichero implica esperas debidas a la entrada/salida, es muy importante en entornos críticos dimensionar correctamente TEMPDB para que se cree con un tamaño apropiado, y evitar dichas esperas de entrada/salida en tiempo de ejecución, justo cuando estamos ofreciendo servicio a los usuarios. Evidentemente, estamos desplazando dichas esperas al momento de inicio de la instancia, pero también conseguimos una ventaja adicional al crear de una vez TEMPDB: limitamos la fragmentación (también muy importante en entornos críticos).
    A partir de SQL Server 2005, también se utiliza al habilitar el modo de aislamiento SNAPSHOT, así como al crear o reconstruir índices con la opción SORT_IN_TEMPDB.
  • DISTRIBUTION. ¿Para qué sirve DISTRIBUTION? No existe por defecto. Se crea al habilitar una instancia de SQL Server como Distribuidor en un entorno de Replicación. Durante el proceso de configuración del Distribuidor, se puede elegir el nombre de ésta base de datos, por lo que no resulta estrictamente necesario que se llame DISTRIBUTION.
    Almacena información como la definición de las Publicaciones, la definición de los Agentes de Instantánea, etc.
  • MSSQLSYSTEMRESOURCE. ¿Para que sirve MSSQLSYSTEMRESOURCE? Esta base de datos es nueva en SQL Server 2005. Aparentemente está oculta (no podremos verla desde SQL Server Management Studio). Es de sólo lectura y no contiene datos, sino por el contrario, contiene el código de todos los objetos del sistema de SQL Server 2005. No es accesible directamente, puesto que es necesario establecer el modo de usuario único (single_user) para poder acceder a esta base de datos (USE MSSQLSYSTEMRESOURCE). En cualquier caso, jamás se debe acceder a esta base de datos.
Las bases de datos de SQL Server utilizan tres tipos de archivos:
  • Archivos de datos principales
El archivo de datos principal es el punto de partida de la base de datos y apunta a los otros archivos de la base de datos. Cada base de datos tiene un archivo de datos principal. La extensión recomendada para los nombres de archivos de datos principales es .mdf.
  • Archivos de datos secundarios
Los archivos de datos secundarios son todos los archivos de datos menos el archivo de datos principal. Puede que algunas bases de datos no tengan archivos de datos secundarios, mientras que otras pueden tener varios archivos de datos secundarios. La extensión de nombre de archivo recomendada para los archivos de datos secundarios es .ndf.
  • Archivos de registro
Los archivos de registro almacenan toda la información de registro que se utiliza para recuperar la base de datos. Como mínimo, tiene que haber un archivo de registro por cada base de datos, aunque puede haber varios. La extensión de nombre de archivo recomendada para los archivos de registro es .ldf.

SQL Server no exige las extensiones de nombre de archivo .mdf, .ndf y .ldf, pero estas extensiones ayudan a identificar las distintas clases de archivos y su uso.
En SQL Server, las ubicaciones de todos los archivos de una base de datos se guardan tanto en el archivo principal de la base de datos como en la base de datos maestra. SQL Server Database Engine (Motor de base de datos de SQL Server) utiliza casi siempre la información de ubicación del archivo de la base de datos maestra. Sin embargo, Motor de base de datos utiliza la información de ubicación del archivo principal para inicializar las entradas de ubicación de archivos de la base de datos maestra en las siguientes situaciones:
  • Al adjuntar una base de datos mediante la instrucción CREATE DATABASE con la opción FOR ATTACH o la opción FOR ATTACH_REBUILD_LOG.
  • Al actualizar desde SQL Server versión 2000 o versión 7.0
  • Al restaurar la base de datos maestra.

NOMBRES DE ARCHIVO LÓGICO Y FÍSICO

Los archivos de SQL Server tienen dos nombres:
logical_file_name
logical_file_name es el nombre que se utiliza para hacer referencia al archivo en todas las instrucciones Transact-SQL. El nombre de archivo lógico tiene que cumplir las reglas de los identificadores de SQL Server y tiene que ser único entre los nombres de archivos lógicos de la base de datos.
os_file_name
os_file_name es el nombre del archivo físico que incluye la ruta de acceso al directorio. Debe seguir las reglas para nombres de archivos del sistema operativo.
Los archivos de datos y de registro de SQL Server se pueden colocar en sistemas de archivos FAT o NTFS. Se recomienda utilizar el sistema de archivos NTFS por las características de seguridad que ofrece. No se pueden colocar grupos de archivos de datos de lectura/escritura, y archivos de registro, en un sistema de archivos NTFS comprimido. Solo las bases de datos de solo lectura y los grupos de archivos secundarios de solo lectura se pueden colocar en un sistema de archivos NTFS comprimido. Para obtener más información, vea Grupos de archivos de sólo lectura y compresión.
Cuando se ejecutan varias instancias de SQL Server en un único equipo, cada instancia recibe un directorio predeterminado diferente para albergar los archivos de las bases de datos creadas en la instancia. Para obtener más información, vea Ubicaciones de archivos para las instancias predeterminadas y con nombre de SQL Server.

Páginas de archivo de datos

Las páginas de un archivo de datos de SQL Server están numeradas secuencialmente, comenzando por cero (0) para la primera página del archivo. Cada archivo de una base de datos tiene un número de identificador único. Para identificar de forma única una página de una base de datos, se requiere el identificador del archivo y el número de la página. El siguiente ejemplo muestra los números de página de una base de datos que tiene un archivo de datos principal de 4 MB y un archivo de datos secundario de 1 MB.

La primera página de cada archivo es una página de encabezado de archivo que contiene información acerca de los atributos del archivo. Algunas de las otras páginas del comienzo del archivo también contienen información de sistema, como mapas de asignación. Una de las páginas de sistema almacenadas en el archivo de datos principal y en el archivo de registro principal es una página de arranque de la base de datos que contiene información acerca de los atributos de la base de datos. Para obtener más información acerca de las páginas y los tipos de páginas, vea Descripción de páginas y extensiones.
Tamaño de archivo
Los archivos de SQL Server pueden crecer de forma automática a partir del tamaño especificado inicialmente. Cuando se define un archivo, se puede especificar un incremento de crecimiento. Cada vez que se llena el archivo, el tamaño aumenta en la cantidad especificada. Si hay varios archivos en un grupo de archivos, no crecerán automáticamente hasta que todos los archivos estén llenos. A continuación, el crecimiento tiene lugar por turnos.
Cada archivo también puede tener un tamaño máximo especificado. Si no se especifica un tamaño máximo, el archivo puede crecer hasta utilizar todo el espacio disponible en el disco. Esta característica es especialmente útil cuando SQL Server se utiliza como una base de datos incrustada en una aplicación para la que el usuario no dispone fácilmente de acceso a un administrador del sistema. El usuario puede dejar que los archivos crezcan automáticamente cuando sea necesario y evitar así las tareas administrativas de supervisar la cantidad de espacio disponible en la base de datos y asignar más espacio manualmente.
La forma de archivo que utiliza una instantánea de base de datos para almacenar sus datos de copia por escritura depende de si la instantánea la ha creado un usuario o se utiliza internamente:
  • Una instantánea de base de datos que crea un usuario almacena sus datos en uno o más archivos dispersos. La tecnología de archivos dispersos es una característica del sistema de archivos NTFS. Al principio, un archivo disperso no incluye datos de usuario y no se le asigna espacio en disco. Para obtener información general sobre el uso de los archivos dispersos en instantáneas de bases de datos y el crecimiento de éstas, vea Funcionamiento de las instantáneas de la base de datos y Descripción del tamaño de los archivos dispersos en instantáneas de bases de datos.
  • Las instantáneas de bases de datos las utilizan internamente algunos comandos DBCC. Entre estos comandos se incluyen: DBCC CHECKDB, DBCC CHECKTABLE, DBCC CHECKALLOC y DBCC CHECKFILEGROUP. Una instantánea de base de datos interna utiliza flujos de datos alternativos dispersos de los archivos de base de datos originales. Como los archivos dispersos, los flujos de datos alternativos son una característica del sistema de archivos NTFS. El uso de los flujos de datos alternativos dispersos permite que varias asignaciones de datos se asocien a un único archivo o carpeta sin afectar a las estadísticas de tamaño o volumen.
Los objetos y archivos de una base de datos se pueden agrupar en grupos de archivos con fines de asignación y administración. Hay dos tipos de grupos de archivos:
Principal
El grupo de archivos principal contiene el archivo de datos principal y los demás archivos asignados específicamente a otro grupo de archivos. Todas las páginas de las tablas del sistema están asignadas al grupo de archivos principal.
Definidos por el usuario
Los grupos de archivos definidos por el usuario son los grupos de archivos especificados mediante la palabra clave FILEGROUP en la instrucción CREATE DATABASE o ALTER DATABASE.
Los archivos de registro nunca forman parte de un grupo de archivos. El espacio del registro se administra de forma independiente del espacio de datos.
Ningún archivo puede pertenecer a más de un grupo de archivos. Las tablas, los índices y los datos de objetos grandes se pueden asociar a un grupo de archivos específico. En este caso, todas sus páginas se asignarán a dicho grupo de archivos o se pueden crear particiones en las tablas e índices. Los datos de las tablas e índices con particiones se dividen en unidades y cada una de ellas se puede colocar en un grupo de archivos independiente de una base de datos. Para obtener más información acerca de las tablas e índices con particiones, vea Tablas e índices con particiones.
Un grupo de archivos de cada base de datos se designa como grupo de archivos predeterminado. Cuando se crea una tabla o un índice sin especificar un grupo de archivos, se supone que todas las páginas se asignarán a partir del grupo de archivos predeterminado. Solo un grupo de archivos puede ser el predeterminado en un momento dado. Los miembros del rol fijo de base de datos db_owner pueden cambiar el grupo de archivos predeterminado de un grupo a otro. Si no se especifica ningún grupo de archivos predeterminado, se considera como tal al grupo de archivos principal.
Ejemplo de archivos y grupos de archivos
En el siguiente ejemplo se crea una base de datos con una contraseña de SQL Server. La base de datos tiene un archivo de datos principal, un grupo de archivos definido por el usuario y el archivo de registro. El archivo de datos principal está en el grupo de archivos principal y el grupo de archivos definido por el usuario tiene dos archivos de datos secundarios. Una instrucción ALTER DATABASE hace que el grupo de archivos definido por el usuario sea el grupo predeterminado. A continuación, se crea una tabla que especifica el grupo de archivos definido por el usuario.


 


Comando para creación, modificación y eliminación

CREATE DATABASE
Como muchas instrucciones de Transact-SQL, la instrucción CREATE DATABASE tiene un parámetro requerido: el nombre de la base de datos. CREATE DATABASE también tiene muchos parámetros opcionales, como la ubicación de disco donde se desean colocar los archivos de la base de datos. Si se ejecuta CREATE DATABASE sin los parámetros opcionales, SQL Server usa los valores predeterminados para muchos de estos parámetros. Este tutorial usa algunos de los parámetros de sintaxis opcionales.

Para crear una base de datos

1.    En una ventana del Editor de consultas, escriba el código siguiente, pero no lo ejecute:
      2.    CREATE DATABASE TestData
      3.    GO
4.    Use el puntero para seleccionar las palabras CREATE DATABASE y, a continuación, presione F1. Debe abrirse el tema CREATE DATABASE de los Libros en pantalla de SQL Server. Puede usar esta técnica para encontrar la sintaxis completa de CREATE DATABASE y de otras instrucciones que se usan en este tutorial.
5.    En el Editor de consultas, presione F5 para ejecutar la instrucción y crear una base de datos con el nombre TestData.

La palabra clave GO separa las instrucciones cuando se envían varias instrucciones en un solo lote. GO es opcional cuando el lote solo contiene una instrucción.

ALTER DATABASE
Modifica una base de datos, o los archivos y grupos de archivos asociados con la base de datos. Añade o elimina los archivos y grupos de archivos a partir de una base de datos, cambia los atributos de una base de datos o sus archivos y grupos de archivos, cambian la intercalación de base de datos, y establece las opciones de base de datos. Instantáneas de base de datos no se pueden modificar. Para modificar las opciones de base de datos asociados con la replicación.

ALTER DATABASE {nombre_basedatos | ACTUAL}

DROP DATABASE database_name [;] 
Drop database

Quita una o varias bases de datos de usuario o instantáneas de base de datos de una instancia de SQL Server.

DROP DATABASE database_name [;] 

EJEMPLO


USE master;
GO
CREATE DATABASE MyDB
ON PRIMARY
  ( NAME='MyDB_Primary',
    FILENAME=
       'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\MyDB_Prm.mdf',
    SIZE=4MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB),
FILEGROUP MyDB_FG1
  ( NAME = 'MyDB_FG1_Dat1',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\MyDB_FG1_1.ndf',
    SIZE = 1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB),
  ( NAME = 'MyDB_FG1_Dat2',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\MyDB_FG1_2.ndf',
    SIZE = 1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB)
LOG ON
  ( NAME='MyDB_log',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\MyDB.ldf',
    SIZE=1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB);
GO
ALTER DATABASE MyDB
  MODIFY FILEGROUP MyDB_FG1 DEFAULT;
GO

USE MyDB;
CREATE TABLE MyTable
  ( cola int PRIMARY KEY,
    colb char(8) )
ON MyDB_FG1;
GO

La siguiente ilustración resume los resultados del ejemplo anterior.

 



RESUMEN
Un sistema de gestión de base de datos relacionales (rdbms) de Microsoft que está diseñado para el entorno empresarial. SQL server se ejecuta en T-SQL (transac –sql), un conjunto de extensiones de programación de sybase y microsoft que añaden varias características a SQL estándar, incluyendo control de transacciones, excepciones y manejo de errores, procesamiento fila, así como variables declaradas.

SUMMARY
A management system relational database (RDBMS) Microsoft that is designed for the business environment. SQL Server runs in T- SQL ( transac -sql ) , a set of programming extensions Sybase and Microsoft that add several features to standard SQL , including transaction control , exception and error handling , row processing , and declared variables .

RECOMENDACIONES
Para la creación de la base de datos se debe de conocer lo que necesita el negocio o la empresa que lo requiera, a partir de eso construirla, de igual manera para modificarla saber que debemos de mejorar o cambiar y en el caso eliminarlo saber el porqué.

CONCLUSIONES
En este capítulo explicaremos cuál es la función de cada una de las base de datos del sistema, algo de vital importancia para conocer SQL Server, su funcionamiento, consideraciones para el diseño de planes de contingencia (backup y restores) y optimización de rendimiento (tunning) de base de datos, los Tipos de Base de datos del sistema, los comandos para crear, modificar y eliminar una base de datos, etc.

GLOSARIO
Backup: son copias de seguridad es el procedimiento utilizado para hacer copias de información. Estas copias de seguridad se deben realizar sobre los datos más importantes con el propósito que estén disponibles en caso de fallas de nuestros sistemas
Logins: login o logon (en español ingresar o entrar) es el proceso mediante el cual se controla el acceso individual a un sistema
Mb: Un megabyte es 1024 kilobytes, y un gigabyte es 1024 megabytes. El siguiente nivel sería terabytes, o gigabytes 1024. Sin embargo, cuando se habla de la velocidad de una conexión a Internet, es casi siempre va a ser contemplados en bits, si se trata de kilobits (Kb), megabits (Mb), o gigabits (Gb).

BIBLIOGRAFÍA Y FUENTES DE INFORMACIÓN



     LINK DE DESCARGA SLIDESHARE:  
                                                                         Base de Datos en Microsoft SQL Server




domingo, 8 de mayo de 2016

MODELO RELACIONAL


1.    CONTENIDO

ü  Definición

Es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. Pese a que esta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o "tupla") y columnas (también llamadas "campos").
Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.
 

Todo modelo de datos tiene que ver con tres aspectos de los datos:
·         Estructura de datos.
·         Integridad de datos
·         Manejo de datos

Estructura de datos Relacional
 
Terminología Relacional
*      Tupla.  Cada fila de la tabla (caja ejemplar que la tabla representa)
*      Atributo. Cada columna de la tabla.
*      Grado.  Numero de atributos de la tabla.
*      Cardinalidad.  Numero de tuplas de una tabla.
*      Dominio. Conjunto válido de valores representables por un atributo.

Esquema
Un esquema contiene la definición de una estructura (generalmente relaciones o tablas de una base de datos), es decir, determina la identidad de la relación y qué tipo de información podrá ser almacenada dentro de ella; en otras palabras, el esquema contiene los metadatos de la relación. Todo esquema constará de:
•    Nombre de la relación (su identificador).
•    Nombre de los atributos (o campos) de la relación y sus dominios; el dominio de un atributo o campo define los valores permitidos para el mismo, equivalente al tipo de dato por ejemplo character, integer, date, string.

Instancias
Una instancia de manera formal es la aplicación de un esquema a un conjunto finito de datos. En palabras no tan técnicas, se puede definir como el contenido de una tabla en un momento dado, pero también es válido referirnos a una instancia cuando trabajamos o mostramos únicamente un subconjunto de la información contenida en una relación o tabla, como por ejemplo:
•    Ciertos caracteres y números (una sola columna de una sola fila).
•    Algunas o todas las filas con todas o algunas columnas
•    Cada fila es una tupla. El número de filas es llamado cardinalidad.
•    El número de columnas es llamado aridad o grado.

ü  Propiedades

§  Cada relación tiene un nombre distinto.
§  Los valores de los atributos son atómicos (relaciones normalizadas).
§  Cada atributo tiene un nombre distinto.
§  Los atributos no están ordenados.
§  No hay tuplas duplicadas.
§  Las tuplas no están ordenadas.
§   
RELACIÓNES

v Uno a muchos: sabemos que cada profesor pertenece únicamente a un departamento, pero en cada departamento existe más de un profesor. De aquí podemos extraer una relación UNO a MUCHOS entre las tablas Departamentos y Profesores.

 

 


v Uno a Uno: Las relaciones uno a uno no son demasiado frecuentes pero existen así que debemos conocerlas. Como sabemos, un profesor puede ser tutor de un sólo grupo (UNO) y del mismo modo, cada grupo sólo puede tener un tutor.        
   

v Muchos a muchos: Tenemos dos tablas profesores y grupos, la cual  un profesor da clases a varios grupos (1A, 1B, 2C, etcétera) y un grupo recibe clases de varios profesores (Carlos Pérez, Antonio García, etcétera).
 

 

ü  Tipos de Relación

En una BDR, todos los datos se almacenan y se accede a ellos por medio de relaciones.

q  Relaciones base
Las relaciones que almacenan datos son llamadas relaciones base y su implementación es llamada "tabla".

q  Relaciones derivadas
Otras relaciones no almacenan datos, pero son calculadas al aplicar operaciones relacionales. Estas relaciones son llamadas relaciones derivadas y su implementación es llamada "vista" o "consulta". Las relaciones derivadas son convenientes ya que expresan información de varias relaciones actuando como si fuera una sola tabla.

ü  Reglas de Integridad

Restricción que debe cumplirse sobre una BD en todos sus estados
                  Reglas de negocio: reglas de integridad específicas de cada base de datos.
                  Reglas de integridad generales:
· Regla de integridad de entidades (amiga de las claves primarias).
· Regla de integridad referencial (amiga de las claves ajenas).
        Además existen las restricciones de dominio: al definir cada atributo sobre un dominio, se impone una restricción sobre el conjunto de valores permitidos para cada atributo.
REGLA DE INTEGRIDAD DE ENTIDADES
              “Ninguno de los atributos que componen la clave primaria puede ser nulo.”
¡¡ En una base de datos relacional nunca se almacena información de algo que no se puede identificar!!
Observaciones:
· La regla se aplica a las relaciones base (parte directa de la base de datos).
· La regla se aplica solo a la clave primaria (no a las claves alternativas).
REGLA DE INTEGRIDAD REFERENCIAL
si en una relación hay alguna clave ajena, sus valores deben coincidir con los valores de la clave primaria a la que  hace referencia, o bien, deben ser todos nulos.”
 La regla de integridad referencial se enmarca en términos de estados de la base de datos: nos dice lo que es un estado ilegal ¡¡ pero no nos dice cómo podemos evitarlo!!
¿Qué hacer si estando en un estado ilegal, llega una operación que conduce a un estado ilegal? Existen dos opciones:
· Rechazar la operación.
· Aceptar la operación y realizar operaciones adicionales compensatorias que conduzcan a un estado ilegal.
 

REGLAS PARA LAS CLAVES AJENAS

Regla de los nulos: ¿tiene sentido que una clave ajena acepte nulos?
Regla de borrado: ¿Qué hacer si se intenta borrar la tupla referenciada por la clave ajena?
Regla de Modificacion: ¿Qué hacer si se intenta modificar el valor de la clave primaria de la tupla referenciada por la clave ajena?
       Ejemplos:
                          

CLAVES

Clave primaria
Una clave primaria es una clave única (puede estar conformada por uno o más campos de la tabla) elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto (relación entre tablas) es por medio de claves foráneas.
Clave foránea
Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un departamento por cada clave distinta de departamento en la tabla de departamentos.
Clave índice
Las claves índices surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice.
Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución de datos y tamaño de la relación.
Los índices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo de programadores que las otras partes de la base de datos.

Procedimientos almacenados

Un procedimiento almacenado es código ejecutable que se asocia y se almacena con la base de datos. Los procedimientos almacenados usualmente recogen y personalizan operaciones comunes, como insertar un registro dentro de una tabla, recopilar información estadística, o encapsular cálculos complejos. Son frecuentemente usados por un API por seguridad o simplicidad.
Los procedimientos almacenados no son parte del modelo relacional, pero todas las implementaciones comerciales los incluyen.


2.    RESUMEN

El modelo relacional es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.
Un esquema contiene la definición de una estructura (generalmente relaciones o tablas de una base de datos).Todo esquema constará de:
•          Nombre de la relación (su identificador).
•          Nombre de los atributos (o campos).
Una instancia es la aplicación de un esquema a un conjunto finito de datos. En palabras no tan técnicas, se puede definir como el contenido de una tabla en un momento dado.
Propiedades de un modelo relacional
·                    Cada relación tiene un nombre distinto.
·                    Los valores de los atributos son atómicos (relaciones normalizadas).
·                    Cada atributo tiene un nombre distinto.
·                    Los atributos no están ordenados.
·                    No hay tuplas duplicadas.
·                    Las tuplas no están ordenadas.
Existen tres tipos de Relación
·                    Uno a muchos
·                    Uno a Uno
·                    Muchos a muchos
Reglas de Integridad
Restricción que debe cumplirse sobre una BD en todos sus estados

REGLA DE INTEGRIDAD DE ENTIDADES

              “Ninguno de los atributos que componen la clave primaria puede ser nulo.”
Observaciones:
•          La regla se aplica a las relaciones base (parte directa de la base de datos).
•          La regla se aplica solo a la clave primaria (no a las claves alternativas).

REGLA DE INTEGRIDAD REFERENCIAL

“si en una relación hay alguna clave ajena, sus valores deben coincidir con los valores de la clave primaria a la que  hace referencia, o bien, deben ser todos nulos.”
CLAVES
Clave primaria
Una clave primaria es una clave única (puede estar conformada por uno o más campos de la tabla) elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla para especificar los datos que serán relacionados con las demás tablas.
Clave foránea
Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.
Clave índice
Las claves índices surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice.
Procedimientos almacenados
Un procedimiento almacenado es código ejecutable que se asocia y se almacena con la base de datos.

3.    SUMMARY

The relational model is a data model based on predicate logic and set theory.
After being nominated bases in 1970 by Edgar F. Codd, the IBM labs in San Jose (California), he soon establish itself as a new paradigm in the database model.
It is the model most used today to model real problems and manage data dynamically.
A scheme contains the definition of a structure (usually relationships or tables in a database) .All scheme will consist of:
• Name of the relationship (its identifier).
• Name attributes (or fields).
An instance is the application of a scheme to a finite set of data. In less technical terms, it can be defined as the contents of a table at one time.
Properties of a relational model
• Every relationship has a different name.
• The values ​​of the attributes are atomic (normalized relations).
• Each attribute has a different name.
• The attributes are not ordered.
• There are no duplicate tuples.
• The tuples are not ordered.
There are three types of relationship
• One to many
•          One by one
• Many to many
Integrity Rules
Restriction that must be met on a BD in all its states

RULE OF INTEGRITY OF ENTITIES

              "None of the attributes that make up the primary key can be null."
Observations:
• The rule applies to the base (direct part of the database) relationships.
• The rule applies only to the primary key (not the alternate keys).
Referential integrity rule
"If any foreign key in a relationship, their values ​​must match the values ​​of the primary key to which it refers, or, should all be zero."
KEYS
primary key
A primary key is a unique key ( may consist of one or more fields in the table ) chosen among all candidates that uniquely defines all other attributes of the table to specify the data to be related to other tables.
foreign key
A foreign key is a reference to a key in another table, determines the relationship in two tables. Foreign keys need not be unique keys in the table where they are and where they are referenced itself .
key index
The key indices arise with the need for faster access to data . Indexes can be created with any combination of fields in a table . Queries that filter records by these fields can not find records sequentially using the index key .
Stored Procedures
A stored procedure is executable code that is associated and stored with the database .

4.    RECOMENDACIONES

Para una buena gestión de base de datos se debe tener en cuenta el modelo relacional ya que te permite administrar datos dinámicamente y su idea fundamental es el uso de relaciones.
Cuando hagas un modelo relacional tener en cuenta que no pueden existir dos tablas con el mismo nombre y que cada tabla es a du vez un conjunto de registros, filas o tuplas. También debes tener en cuentas las restricciones, si estas relaciones son de uno a uno, de uno a muchos o de muchos a muchos para así poder construir un buen modelado.

5.    CONCLUSIONES

El presente trabajo se ha dedicado al estudio del modelo Relacional la cual nos hemos dado cuenta que permite obtener un buen modelado de una base de datos. Mediante este trabajo se han alcanzado los objetivos planteado en cuanto ha:

q Definir que es un modelo Relacional, de qué manera te va a ayudar al modelado de una base de datos y en qué se diferencia de los otros modelos.
q  Estudiar los diferentes tipos de relaciones que existen y conocer acerca de las reglas de integración.


1.    APRECIACIÓN DEL EQUIPO

Es muy Importante conocer acerca del modelo relacional ya que es el más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Este modelo te provee herramientas que garantizan evitar la duplicidad de registros.

7.    GLOSARIO DE TÉRMINOS

Tupla: una secuencia de valores agrupados. Una tupla sirve para agrupar, como si fueran un único valor, varios valores que, por su naturaleza, deben ir juntos.

Aridad: En el análisis matemático, la aridad de un operador matemático o de una función es el número de argumentos necesarios para que dicho operador o función se pueda calcular.

Cardinalidad: Es cuando se define una relación y se especifica si uno o varios artículos de configuración pueden estar en la clasificación de origen y la clasificación de destino.

Foránea: Que procede o es propio de otro lugar.

8.    BIBLIOGRAFÍA O LINKOGRAFÍA


 LINK DE DESCARGA SLIDESHARE:  Modelo Relacional