Creación Base de Datos FARMACIA


INTEGRANTES:

  • BYRON AGUIRRE
  • PATRICIO MEJÍA

CREACIÓN DE LA BASE DE DATOS DE UNA FARMACIA

DESCARGAS:

MANUAL DE CREACION DE LAS TABLAS

MANUAL DE INSERCION DE DATOS

EJERCICIOS PARA MANIPULACION DE DATOS


A continuación  se detalla como crear una Base de Datos utilizando SQL Server 2005, como ejemplo crearemos una base de Datos con las necesidades de una Farmacia.

Una vez que hayamos instalado el programa correctamente, damos clic en inicio y en SQL Server Management:

A continuación aparecera una ventana en la que se mostrará como se conectará al servidor, se muestra: Tipo de servidor, Nombre del servidor, Autenticación, Inicio de sesión y la contraseña.

Ahora vemos que la pantalla se divide en 2 partes, en la parte izquierda podemos ver el “explorador de objetos”.

Ahí encontramos los componentes del servidor:

– Base de Datos

– Seguridad

– Objetos del servidor

– Réplica

– Administración

– Notification Sevices

Para empezar a crear la nueva base de datos damos clic izquierdo sobre “bases de datos” y luego en “nueva base de datos

Aparecerá una nueva ventana en la que se debe ingresar el nombre de la nueva base de datos y el propietario.

Es recomendable que no ponga espacios en el nombre de la base de datos que en este caso se llamará FARMACIA, se selecciona el propietario y se pone aceptar.

Ahora ya tenemos llenados esos campos que son importantes, veamos que es muy importante el poner un límite al tamaño de la base de datos, esto es para preveer que el disco empiece a disminuir demasiado, y la base de datos lo llegue a copar.

Para poner los límites a la base de datos vamos a ver en la parte donde dice “crecimiento automático” y damos clic donde estan los 2 puntos (..) tanto en el tipo de datos archivo como en registro.

Aparecerá una nueva ventana donde nos pedirá que ingresemos los valores:

Por default aparecerá “en porcentaje”, sin embargo nosotros vamos a ponerlo en megabyte y es recomendable poner como valor 100.

Igualmente aparece el tamaño máximo del archivo “sin límite”, nosotros lo vamos a poner máximo 1000 megas.

Ahora podemos dar clic en aceptar, una vez que hayamos terminado de dar todos los parámetros a la base.

Ahora damos clic en “Base de datos y aparecerá el nombre de la nueva base de datos que hemos creado, en nuestro caso aparecerá la base de datos con nombre “FARMACIA”.

Por último vamos a poner clic izquierdo sobre la nueva base de datos “FARMACIA” y ponemos clic en  “Nueva consulta”

En la parte derecha aparecerá como un “editor de texto” en el que podremos empezar a crear según nuestras necesidades todos los códigos.

Ahora vamos a ver como se estructura la base de datos:

Primero vamos a la creación o estructura de las tablas, para ello es importante que sigamos este orden:

  1. Preguntar y eliminar las FK
  2. Preguntar y eliminar las tablas
  3. Crear tablas
  4. Crear FK

Tenemos claro cuales son ya las tablas que vamos a crear, primero se recomineda realizar todas las tablas con sus respectivos FK en un papél, asi se facilitará aún más la creacion de las tablas.

Determinamos que las tablas para la FARMACIA serán:

  • TIPO_PRODUCTO
  • PRODUCTO
  • TIPO_IDENTIFICACION
  • PROVEEDOR
  • FARMACIA
  • INVENTARIO

Primero se preguntará si existen los FK, si es así se elimínan, el código para ello será por ejemplo para PRODUCTO

Tabla PRODUCTO  ——–> tiene FK y se relaciona con TIPO_PRODUCTO ——-> tiene PK

IF EXISTS (SELECT 1
FROM SYSOBJECTS
WHERE ID=OBJECT_ID(‘FK_PRODUCTO__TIPO_PRODUCTO’)
AND TYPE=’F’
)
ALTER TABLE PRODUCTO
DROP CONSTRAINT FK_PRODUCTO__TIPO_PRODUCTO
GO

Con ese mismo modelo tenemos que hacer con todas las tablas donde veamos que existen FK en nuestro papel.

Como podemos ver se colocan después de cada eliminación o creación de tablas la palabra “GO”, eso es para indicar que debe continuar.

Ahora va a preguntar si existen tablas y si es así las va a eliminar, vamos a poner un ejemplo para eliminar la tabla TIPO_PRODUCTO si exíste se elimina

IF EXISTS (SELECT 1
FROM SYSOBJECTS
WHERE ID=OBJECT_ID(‘TIPO_PRODUCTO’)
AND TYPE=’U’
)
DROP TABLE TIPO_PRODUCTO
GO

Ahora que ya todo esta vacío, vamos a empezar a crear la tablas.

Al momento de crear las tablas primero debemos crear las tablas que poseen PK, para luego crear los que poseen FK.

El código es el siguiente:

GO
CREATE TABLE (“nombre de la tabla”)
(
nombre del campo       tipo de variable,
nombre del campo       tipo de variable,
CONSTRAINT PK_(“nombre de la tabla”) PRIMARY KEY(CODIGO_”nombre de la tabla”)
)

Aquí vamos a poner un ejemplo de la tabla TIPO_PRODUCTO

GO
CREATE TABLE TIPO_PRODUCTO                                          —>  se crea la tabla con su nombre
(
CODIGO_TIPO_PRODUCTO      INT NOT NULL,                  —> se pone el campo y su variable
NOMBRE                                           VARCHAR (100),
CONSTRAINT PK_TIPO_PRODUCTO PRIMARY KEY(CODIGO_TIPO_PRODUCTO)  —-> declara PK
)

Si creamos ya las tablas con PK podemos crear la que tiene los FK, por ejemplo de INVENTARIO, creamo el FK con el siguiente código:

GO
ALTER TABLE INVENTARIO
ADD CONSTRAINT FK_INVENTARIO__PRODUCTO FOREIGN KEY(CODIGO_PRODUCTO)
REFERENCES PRODUCTO(CODIGO_PRODUCTO)

Para conseguir esto necesitamos primero crear la tabla PRODUCTO y INVENTARIO, así se hace la relación de FK.

Así mismo lo hacemos con las demás tablas

Ahora vamos a empezar a insertar los datos como se muestra en el siguiente código.

Un punto importante que siempre debemos recordar es que para la manipulacion de los script es necesario escribir todo el código con letras MAYUSCULAS.

Para ingresar los  2 datos de la tabla TIPO_PRODUCTO:

INSERT INTO TIPO_PRODUCTO (CODIGO_TIPO_PRODUCTO,NOMBRE) VALUES(1,’NATURAL’)
INSERT INTO TIPO_PRODUCTO (CODIGO_TIPO_PRODUCTO,NOMBRE) VALUES(2,’ANTIGRIPAL’)

GO
SELECT *
FROM TIPO_PRODUCTO
GO

Siempre se ingresa tantos datos como campos existen, en este caso son 2, el código y el nombre, unicamente recibirá 2 datos, ni mas ni menos.

Así mismo lo hacemos con las demás tablas.

Una vez que hemos ingresado todo el código vamos a dar clic en “ejecutar” para que se ingresen los datos.

Ahora ya tenemos datos ingresados, para verificar que los datos esten bien ingresados, podemos señalar el “SELECT” de cierta tabla y damos clic en ejecutar y nos aparecera una tabla con los datos que hemos ingresado:

Tabla del tipo de producto

Tabla del tipo de identificación

Tabla de los productos ingresados

Tabla de los proveedores

Tabla de las farmacias

Tabla de inventario

Una vez que ya hemos creado la base de datos podemo empezar a manipularla como nostros deseemos, según las necesidades que sean.

Creación Base de Datos Matriculación Vehicular


INTEGRANTES:

  • JONATHAN AIMARA
  • MARLON ARCOS
  • CARLOS TUFIÑO

SCRIPT CREACION TABLAS MATRICULACION VEHICULAR

SCRIPT INSERCCION DATOS MATRICULACION VEHICULAR

CONSULTAS

Creación de la Base de Datos Matriculación Vehícular

Ejecutamos el SQL server que tenemos instalado en nuestra PC, luego aparecerá una pantalla que se muestra acontinuación, la cual contiene el tipo, nombre del servidor y la autentificación:

Nota: Se recomienda no cambiar ninguna configuracion sino solo realizar un clic en conectar.

Luego de realizar un clic en conectar aparecerá una pantalla la cual nos mostrara el Explorador de Objetos de dicho servidor en la parte izquiera, como muestra la siguiente figura:

Dentro de el explorador de objetos tenemos una opcion llamada Base de Datos en la cual al realizar un clic nos mostrará el nombre de t0das las Bases de Datos creadas en SQL como muestra la siguiente imagen:

Para crear una nueva Base de Datos(para nuestro caso nos crearemos una Base de Datos con el nombre MATRICULACION_VEHICULAR)

Damos clic derecho en Base de Datos y seleccionamos nueva Base de Datos como se muestra en la siguiente figura  :

Luego de haber dado clic aparecerá una pantalla en la que debemos ingresar el nombre de la nueva Base que se va a crear

Se recomienda configurar en la opción crecimiento automatico como se muestra en la siguiente figura:

Al hacer un clic en uno de los botones que se encuentran dentro de la opción de crecimiento automatico aparecerá la siguiente pantalla, en la cual deberemos escoger las opciones de (En porcentaje colocando la cantidad de 100 y Limitar el crecimiento de los archivos(MB) en 1000) y damos aceptar como indica la siguiente imagen:

Luego como se muetra en la siguiente imagen el nombre de la nueva base de datos aparecerá dentro de la opción Base de Datos:

Para empezar a trabajar con la Base de Datos creada creando las tablas, insertando datos en las tablas y realizando algunas consultas procedemos a dar clic derecho en el nombre de la Base de Datos creada y escogemos la opción de nueva consulta como se muetra en la siguiente imagen:

Notamos que al dar clic en nueva consulta aparecerá una página en blanco en la que realizaremos todos los scripts dependiendo de lo que necesitemos realizar:

CREACIÓN DE TABLAS

Para la creación de las tablas es necesario determinar cuales son los campos que va a poseer y las caracteristicas de cada uno de dichos campos.

Primeramente escribimos

CREATE TABLE  nombre de la tabla

(

Campo   tipo_campo

)

GO

Para este ejemplo se requiere crear las siguientes tablas:

  • Modelo
  • Marca
  • Vehículo
  • Tipo_Vehículo
  • Vehículo_Color
  • Cuidad
  • Provincia
  • Jefatura_Transito
  • Matrícula
  • Propietario

En este ejemplo solo se crearan 4 tablas de las mencionadas anteriormente.

CREACIÓN DE LA TABLA MODELO: este tabla contiene los campos CODIGO_MODELO, NOMBRE, CODIGO MARCA seguido de CONSTRAINT  como se muestra en la imagen, que es el que designa cuál campo será el PK(primary Key):

Después de crear la tabla es necesario determinar con el código ALTER TABLE MODELO designarle el FK que tendrá la tabla para poder realizar la relación como se muestra en la siguiente figura:

Acontinuación se crean las siguientes 3 tablas:

Luego de haber creado todas las tablas obtendremos un diagrama parecido al siguiente en el que se mostrarán todas las tablas y las relaciones que pueden tener cada una de ellas.

luego de haber creado todas las tablas es necesario borrar los FK y las tablas utilizando los siguientes codigos:

Codigo para borrar los FK

IF EXIST (SELECT 1

FROM SYSOBJECTS

WHERE ID=OBJECT_ID(‘nombre_FK’)

AND TYPE=’F’

)

ALTER TABLE nombre_tabla

DROP CONSTRAINT FK_nombre_tabla __ nombre_FK

Codigo para borrar las tablas

IF EXIST (SELECT 1

FROM SYSOBJECTS

WHERE ID=OBJECT_ID(‘nombre_tabla’)

AND TYPE=’U’

)

DROP  TABLE  nombre_tabla

Este codigo se lo realiza para cada una de las tablas creadas y una recomendacion es necesario ir colocando en el orden que se fueron creando las tablas como muestra la siguiente imagen:

Para insertar los datos en las tablas es necesario colocar el siguiente codigo como se muestra en la siguiente imagen:

INSERT INTO nombre_tabla  VALUES (datos para cada uno de los campos que posee la tabla)

Cada uno de los campos ingresados deben ser unicos.


Algunos ejemplos que se realizaron mediante el uso de nuestra Base de Datos son los siguientes:

Algebra Relacional


Algebra relacional

Es un método que consiste básicamente en crear o construir nuevas relaciones a partir de relaciones existentes.

Existen 2 tipos de operadores algebraicos:

  • Operadores básicos o primitivos.
  • Operadores no básicos o derivados.

Operadores básicos o primitivos.

Se clasifican en:

  1. Proyección (π).
  2. Selección (σ).
  3. Unión (U).
  4. Diferencia (-).
  5. Producto cartesiano (X).

Proyección.

Este operador permite extraer columnas de una relación y de esta manera crea un subconjunto de atributos de la relación, además elimina las filas duplicadas.

Ejemplo

PERSONA

CODIGO NOMBRE EDAD TELEFONO CIUDAD
1 PEDRO 24 3182405 QUITO
2 SONIA 15 3234534 QUITO
3 ERIK 18 4102405 GUAYAQUIL
4 ANDREA 27 4089129 GUAYAQUIL

π NOMBRE, CUIDAD (PERSONA)

NOMBRE CUIDAD
PEDRO QUITO
SONIA QUITO
ERIK GUAYAQUIL
ANDREA GUAYAQUIL

Selección.

Este operador permite seleccionar un subconjunto de filas o registros de una relación y de acuerdo a la condición planteada los registros serán seleccionados para formar parte de un nuevo subconjunto.

Ejemplo

PERSONA

CODIGO NOMBRE EDAD TELEFONO CIUDAD
1 PEDRO 24 3182405 QUITO
2 SONIA 15 3234534 QUITO
3 ERIK 18 4102405 GUAYAQUIL
4 ANDREA 27 4089129 GUAYAQUIL

σ CODIGO>2 (PERSONA)

CODIGO NOMBRE EDAD TELEFONO CIUDAD
3 ERIK 18 4102405 GUAYAQUIL
4 ANDREA 27 4089129 GUAYAQUIL

Unión.

La unión de 2 relaciones R y S es otra relación la cual va a tener los registros de R en  S o en ambas, además se eliminan los registros duplicados.

En esta relación R y S deben ser compatibles es decir que deben estar definidas sobre el mismo conjunto de atributos.

Ejemplo

EMPLEADO

CÓDIGO NOMBRE SUELDO
1 KEVIN 550
2 EDUARDO 300
3 JESSICA 240
4 NANCY 430

JEFE

CÓDIGO NOMBRE SUELDO
5 PEDRO 800
2 EDUARDO 300
6 ADRIAN 1000
4 NANCY 430
8 JUAN 180

EMPLEADO U JEFE

CÓDIGO NOMBRE SUELDO
1 KEVIN 550
2 EDUARDO 300
3 JESSICA 240
4 NANCY 430
5 PEDRO 800
6 ADRIAN 1000
8 JUAN 180

Diferencia.

La diferencia de 2 relaciones R y S es otra relación la cual va a tener los registros que están en R pero no están en S.

En esta relación R y S deben ser compatibles.

Ejemplo

EMPLEADO

CÓDIGO NOMBRE SUELDO
1 KEVIN 550
2 EDUARDO 300
3 JESSICA 240
4 NANCY 430

JEFE

CÓDIGO NOMBRE SUELDO
5 PEDRO 800
2 EDUARDO 300
6 ADRIAN 1000
4 NANCY 430
8 JUAN 180

EMPLEADO – JEFE

CODIGO NOMBRE SUELDO
1 KEVIN 550
3 JESSICA 240

JEFE – EMPLEADO

CODIGO NOMBRE SUELDO
5 PEDRO 800
6 ADRIAN 1000
8 JUAN 180

Producto cartesiano.

Es  una relación que consiste en la concatenación de cada una de las filas de la relación R con cada una de las filas de la relación S.

Ejemplo

PROVINCIA

CÓDIGO NOMBRE POBLACION
5 PICHINCHA 800
2 AZUAY 300
6 GUAYAS 1000
4 COTOPAXI 430

CIUDAD

CÓDIGO CIUDAD
C1 QUITO
C2 CUENCA
C3 GUAYAQUIL

PROVINCIA X CIUDAD

CÓDIGO NOMBRE POBLACION CODIGO CIUDAD
5 PICHINCHA 800 C1 QUITO
5 PICHINCHA 800 C2 CUENCA
5 PICHINCHA 800 C3 GUAYAQUIL
2 AZUAY 300 C1 QUITO
2 AZUAY 300 C2 CUENCA
2 AZUAY 300 C3 GUAYAQUIL
6 GUAYAS 1000 C1 QUITO
6 GUAYAS 1000 C2 CUENCA
6 GUAYAS 1000 C3 GUAYAQUIL
4 COTOPAXI 430 C1 QUITO
4 COTOPAXI 430 C2 CUENCA
4 COTOPAXI 430 C3 GUAYAQUIL

Operadores no básicos o derivados.

Se clasifican en:

  1. Intersección (∩).
  2. Unión natural ().
  3. División (/).

Intersección.

Es  una relación que contiene el conjunto de todas las filas que están tanto en la relación R como en S.

R y S deben ser compatibles.

Ejemplo

EMPLEADO

CODIGO NOMBRE SUELDO
1 KEVIN 550
2 EDUARDO 300
3 JESSICA 240
4 NANCY 430

JEFE

CODIGO NOMBRE SUELDO
5 PEDRO 800
2 EDUARDO 300
6 ADRIAN 1000
4 NANCY 430
8 JUAN 180

EMPLEADO – JEFE

CODIGO NOMBRE SUELDO
2 EDUARDO 300
4 NANCY 430

Unión natural.

El resultado es una relación con los atributos de ambas relaciones y se obtiene combinando vas filas de ambas relaciones que tengan el mismo valor en los atributos comunes.

El join se lo usa entre los atributos comunes de las entidades o tablas que poseen la clave primaria de una tabla foránea correspondiente de otra entidad.

Ejemplo

PROVINCIA

CODIGO NOMBRE POBLACION CODIGO_CIUDAD
5 PICHINCHA 800 1
2 AZUAY 300 3
6 GUAYAS 1000 3
4 COTOPAXI 430 1

CIUDAD

CODIGO_CIUDAD CIUDAD
1 QUITO
2 CUENCA
3 GUAYAQUIL
CÓDIGO NOMBRE POBLACION CODIGO_CIUDAD CODIGO_CIUDAD CIUDAD
5 PICHINCHA 800 1 1 QUITO
5 PICHINCHA 800 1 2 CUENCA
5 PICHINCHA 800 1 3 GUAYAQUIL
2 AZUAY 300 3 1 QUITO
2 AZUAY 300 3 2 CUENCA
2 AZUAY 300 3 3 GUAYAQUIL
6 GUAYAS 1000 3 1 QUITO
6 GUAYAS 1000 3 2 CUENCA
6 GUAYAS 1000 3 3 GUAYAQUIL
4 COTOPAXI 430 1 1 QUITO
4 COTOPAXI 430 1 2 CUENCA
4 COTOPAXI 430 1 3 GUAYAQUIL

RESULTADO

CODIGO NOMBRE POBLACION CODIGO_CIUDAD CODIGO_CIUDAD CIUDAD
5 PICHINCHA 800 1 1 QUITO
2 AZUAY 300 3 3 GUAYAQUIL
6 GUAYAS 1000 3 3 GUAYAQUIL
4 COTOPAXI 430 1 1 QUITO

Outer Join.

Es una variante del join en la que se intenta mantener toda va información de los operandos, incluso para aquellas que no encajan o entran en juego en el Join, se rellena con nulos las filas que no tienen correspondencia en el Join.

Existen 3 variantes:

  1. Left.
  2. Right
  3. Full

Left

Se tiene en cuenta todas las filas del primer operando.

Right

Se tiene en cuenta todas las filas del segundo operando.

Full

Se tiene en cuenta todas las filas de ambos operandos.

División.

Define una relación sobre el conjunto de atributos C, incluido en la relación R, y que contiene el conjunto de valores de S, que en las filas de R están combinadas con cada una de las filas de S.

R

A B C D
1 2 3 5
4 3 5 9
3 2 8 1
1 2 2 7
1 3 2 7

S

C D
3 5
2 7

R / S

A B
1 2

Normalización de base de datos


¿Qué es normalización?

La normalización nos ayuda a clasificar objetos, relaciones, diferentes formas de relación que existan, basándose en cierta característica de cada uno.

Dependiendo de ciertas reglas que sean identificadas se puede poner en una categoría u otra.

¿Cuáles son los beneficios de la normalización?

Nos ayudan a eliminar redundancias e inconsistencias de dependencia en el diseño de la tabla.

Formalización cero

Es cuando ninguna de las reglas formales ha sido aplicada.

Primera Forma Normal (1FN)

Estas son las características que deben cumplirse para estar en primera forma normal.

  • Las celdas de las tablas deben tener valore simples y no se puede tener grupos ni arreglos que se repitan como valores, un valor por celda
  • La tabla contiene una clave primaria.
  • No existen columnas vacías.
  • La clave primaria no tiene atributos nulos.

Segunda Forma Normal (2FN)

Estas son las características que deben cumplirse para estar en segunda forma normal.

  • Una relación debe estar en 1FN.
  • Relacionar tablas mediante claves foráneas.
  • Los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales.

Tercera Forma Normal (3FN)

Estas son las características que deben cumplirse para estar en tercera forma normal.

  • La tabla se encuentra en 2FN
  • Se eliminan campos que no dependan de la clave.
  • No hay dependencias transitivas entre los atributos, queremos decir con dependencias transitivas cuando existe más de una forma de llegar a referencias a un atributo de una relación.

Cuarta Forma Normal (4FN)

Estas son las características que deben cumplirse para estar en cuarta forma normal

  • Se encuentra con respecto a un conjunto D de  dependencias funcionales y de valores múltiples sí, para todas las dependencias de valores múltiples en D de la forma X->->Y, donde X<=R y Y<=R, se cumple por lo menos una de estas condiciones:

* X->->Y es una dependencia de valores múltiples trivial.
* X es una superllave del esquema R.

Quinta Forma Normal (5FN)

Estas son las características que deben cumplirse para estar en quinta forma normal.

  • La tabla debe estar en 4FN
  • No existen relaciones de dependencias no triviales que no siguen los criterios de las claves.
  • Una tabla que se encuentra en la 4FN se dice que está en la 5FN si cada relación de dependencia se encuentra definida por las claves candidatas.

Reglas de Codd

Codd se dio cuenta que habían bases de datos en el mercado que decían ser relacionales, pero solo guardaban información en tablas, sin estar estas tablas literalmente normalizadas; por lo tanto dio 12 reglas que se debían establecer, pero en la vida real es difícil poner en práctica.

Regla N1 “La Regla de la información”

Toda la información en un RDBMS está explícitamente representada de una sola manera por valores en una tabla.

Cualquier dato que no esté en una tabla no existe del todo. Cualquier tipo de información debe estar siempre adentro de una tabla en una base de datos. Las tablas que contienen tal información constituyen el Diccionario de Datos.

Regla N2 – La regla del acceso garantizado

Cada ítem de datos debe ser lógicamente accesible al ejecutar una búsqueda que combine el nombre de la tabla, su clave primaria, y el nombre de la columna.

Esto significa que dado un nombre de tabla, la clave primaria, y el nombre de la columna que se necesita, deberá encontrarse uno y solamente un valor. Por esta razón es importante las claves primarias para todas las tablas.

Regla N3 – Tratamiento sistemático de los valores nulos

La información inaplicable o faltante puede ser representada a través de valores nulos

Un Sistema Gestor de Bases de Datos Relacionales debe soportar el ingreso de valores nulos en el lugar de columnas cuyos valores sean desconocidos.

Regla N4 – La regla de la descripción de la base de datos

La descripción de la base de datos es almacenada de la misma manera que los datos ordinarios, esto es, en tablas y columnas, y debe ser accesible a los usuarios autorizados.

Toda la información debe ser almacenada únicamente: En tablas. Estas tablas deben ser accesibles igual que todas las tablas, a través de sentencias de SQL.

Regla N5 – La regla del sub-lenguaje Integral

Debe haber al menos un lenguaje que sea integral para soportar la definición de datos, manipulación de datos, definición de vistas, restricciones de integridad, y control de autorizaciones y transacciones.

Tiene que existir al menos un único lenguaje con una sintaxis bien definida, que será usado para administrar la base de datos

Regla N6 – La regla de la actualización de vistas

Todas las vistas que son teóricamente actualizables, deben ser actualizables por el sistema mismo.

La mayoría de los Sistemas Gestor de Bases de Datos Relacionales permiten actualizar vistas simples en algunos momentos, pero no se puede ver las vistas complejas.

Regla N7 – La regla de insertar y actualizar

La capacidad de manejar una base de datos con operandos simples aplica no sólo para la recuperación o consulta de datos, sino también para la inserción, actualización y borrado de datos’.

Quiere decir que para leer, escribir, eliminar y agregar registros deben estar disponibles y operables siempre, independientemente del tipo de relaciones y restricciones que exista entre las tablas.

Regla N8 – La regla de independencia física

El acceso de usuarios a la base de datos a través de terminales o programas de aplicación, debe permanecer consistente lógicamente cuando quiera que haya cambios en los datos almacenados, o sean cambiados los métodos de acceso a los datos.

El cómo se comporten los programas de aplicación y actividad de usuarios vía terminales tiene que ser predecible basados en la definición lógica de la base de datos, y éste comportamiento debería permanecer inalterado, independientemente de los cambios en la definición física de ésta.

Regla N9 – La regla de independencia lógica

Los programas de aplicación y las actividades de acceso por terminal deben permanecer lógicamente inalteradas cuando quiera que se hagan cambios (según los permisos asignados) en las tablas de la base de datos.

La independencia lógica de los datos especifica que los programas de aplicación y las actividades de terminal deben ser independientes de la estructura lógica, por lo tanto los cambios en la estructura lógica no deben alterar o modificar estos programas de aplicación.

Regla N10 – La regla de la independencia de la integridad

Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catalogo, no en el programa de aplicación.

Existen algunas reglas de integridad que son:

  1. Los componentes de una clave primaria no pueden tener valores en blanco o nulos.
  2. Para cada valor de clave foránea deberá existir un valor de clave primaria concordante. La unión de estas reglas garantizan que haya integridad referencial.

Regla N11 – La regla de la distribución

El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a los programas de aplicación.

El soporte para bases de datos distribuidas quiere decir que una colección arbitraria de relaciones, bases de datos corriendo en una mezcla de distintas máquinas y distintos sistemas operativos y que esté conectada por una variedad de redes, pueda funcionar como si estuviera disponible como en una única base de datos en una sola máquina.

Regla N12 – Regla de la no-subversión

Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden ser usados para violar la integridad de las reglas y restricciones expresadas en un lenguaje de alto nivel (como SQL).

Ciertos productos unicamente hacen una interfaz relacional para sus bases de datos No relacionales, por lo que abre  la subversión de las restricciones de integridad. Pero no es permitido.