Elementos de base de datos relacional. Los conceptos básicos de las bases de datos relacionales. Conceptos básicos de bases de datos relacionales.

Base de datos relacional y sus características. Tipos de vínculos entre tablas relacionales.

Base de datos relacional - Este es un conjunto de tablas interrelacionadas, cada una de las cuales contiene información sobre los objetos de un cierto tipo. La fila de la tabla contiene datos en un objeto (por ejemplo, producto, cliente), y las columnas de la tabla describen varias características Estos objetos son atributos (por ejemplo, nombre, código de producto, información sobre el cliente). Los registros, es decir, las líneas de la tabla, tienen la misma estructura, consisten en campos que almacenan los atributos del objeto. Cada campo, es decir, columna, describe solo una característica del objeto y tiene un tipo de datos estrictamente definido. Todos los registros tienen los mismos campos, solo se muestran diferentes en ellos. propiedades de la información objeto.

En la base de datos relacional, cada tabla debe tener una clave principal: un campo o una combinación de campos que identifican cada línea de la tabla. Si la clave consta de varios campos, se llama compuesto. La clave debe ser única e determinar inequívocamente el registro. Por valor clave, puede encontrar una sola entrada. Las teclas también sirven para agilizar la información en la base de datos.

La tabla de bases de datos relacionales debe cumplir con los requisitos de la normalización de las relaciones. La normalización de las relaciones es un dispositivo formal para las restricciones a la formación de tablas que le permite eliminar la duplicación, garantiza la consistencia de almacenarse en la base de datos, reduce los costos de mano de obra para mantener una base de datos.

Deje que la tabla de un estudiante que contenga campos de carreras de sendero: número de grupo, nombre completo, número de holandés, fecha de nacimiento, número de especialidad, nombre de la facultad. Dicha organización de almacenamiento tendrá una serie de deficiencias:

  • Duplicación de la información (el nombre de la especialidad y la facultad se repite para cada estudiante), por lo tanto, el volumen de la base de datos aumentará;
  • El procedimiento de actualización de la información en la tabla es difícil debido a la necesidad de editar cadaentrada de la tabla.

La normalización de las tablas está diseñada para eliminar estas deficiencias. Disponible tres formas normales de relaciones..

La primera forma normal. La tabla relacional se muestra en la primera forma normal si y solo si ninguna de sus filas contiene más de un valor en cualquier campo y ninguno de sus campos clave está vacío. Por lo tanto, si un estudiante necesita recibir información sobre el nombre del estudiante, el campo FIO debe dividirse en parte del nombre, nombre, patronímico.

Segunda forma normal. La tabla relacional se establece en el segundo formulario normal si cumple con los requisitos del primer formulario normal y todos sus campos que no están incluidos en la clave principal se asocian con una dependencia funcional completa con la clave principal. Para llevar la tabla a la segunda forma normal, es necesario determinar la dependencia funcional de los campos. La dependencia funcional de los campos es la dependencia, con una cortina en la instancia de un objeto de información, solo un valor de los accesorios descriptivos corresponde a un cierto valor de los accesorios clave.

Tercera forma normal. La tabla está en la tercera forma normal si cumple con los requisitos del segundo formulario normal, ninguno de sus campos no clave depende de lo funcionalmente de ningún otro campo sin secuencia. Por ejemplo, en la tabla, el estudiante (número del grupo, nombre completo, el número del libro de pruebas, fecha de nacimiento, más antiguo) tres campos: el número del libro de pruebas, el número del grupo, el mayor es En dependencia transitiva. El número del grupo depende del número del libro de pruebas, y el mayor depende del número del grupo. Para eliminar la adicción a la transición, se requieren parte de los campos de la tabla de estudiantes para transferir un grupo a otra tabla. Las tablas tomarán el siguiente formulario: estudiante (número de grupo, nombre completo, libro de crédito No., fecha de nacimiento), grupo (número de grupo, faros).

Las siguientes operaciones son posibles sobre tablas relacionales:

  • Combinando mesas con la misma estructura. Resultado - Total Total: Primero, el primero, luego el segundo (concatenación).
  • Castando de las mesas con la misma estructura. Resultado: se seleccionan los registros que están en ambas tablas.
  • Resta de tablas con la misma estructura. Resultado: se seleccionan los registros que no están subtráctiles.
  • Muestreo (subconjunto horizontal). El resultado es las entradas seleccionadas que cumplen con ciertas condiciones.
  • Proyección (subconjunto vertical). El resultado es una relación que contiene algunos de los campos de las tablas de origen.
  • Cartesovo El producto de las dos tablas de grabación de la tabla resultante se obtiene combinando cada uno de los registros de la primera tabla con cada entrada de otra tabla.

Las tablas relacionales se pueden asociar entre sí, por lo tanto, los datos se pueden eliminar simultáneamente de varias tablas. Las tablas se asocian entre sí para reducir en última instancia el volumen de la base de datos. La conexión de cada par de tablas se garantiza si hay columnas idénticas en ellas.

Existen los siguientes tipos conexiones de información:

  • doce y cincuenta y nueve de la noche;
  • uno a muchos;
  • Muchos-co-muchos.

Comunicación uno a uno Asume que solo un atributo de la segunda tabla corresponde a un atributo de la primera tabla y viceversa.

Comunicación uno a muchosasume que un atributo de la primera tabla corresponde a varios atributos de la segunda tabla.

Comunicación muchos co-muchos Asume que un atributo de la primera tabla corresponde a varios atributos de la segunda tabla y viceversa.

Las bases de datos relacionales son las más comunes en la actualidad, aunque junto con las ventajas generalmente aceptadas tiene una serie de deficiencias. Las ventajas del enfoque relacional se pueden atribuir a:

La presencia de un pequeño conjunto de abstracciones, que le permite simplemente simular relativamente la mayoría de las áreas de objetos comunes y permitir definiciones formales precisas, restantes intuitivas;

La presencia de un aparato matemático simple y al mismo tiempo, basado principalmente en la teoría de los conjuntos y lógica matemática y proporcionar base teórica para un enfoque relacional para la organización de bases de datos;

La posibilidad de una manipulación única de datos sin la necesidad de conocer la organización física específica de las bases de datos en la memoria externa.

Los sistemas relacionales no están inmediatamente ampliamente extendidos. En ese momento, los principales resultados teóricos en esta área se obtuvieron en los años 70, y al mismo tiempo aparecieron los primeros prototipos de DBM relacional, por mucho tiempo Fue considerado imposible lograr la implementación efectiva de tales sistemas. Sin embargo, las ventajas mencionadas anteriormente y la acumulación gradual de métodos y algoritmos para la organización de bases de datos relacionales y la gestión de ellos llevaron al hecho de que a mediados de la década de 1980, los sistemas relacionales han desplazado prácticamente los DBMS tempranos del mercado mundial.

Actualmente, el tema principal de la crítica de DBMS relacional no es su eficacia insuficiente, pero inherente a estos sistemas algunas limitaciones (consecuencia directa de la simplicidad) cuando se usa en las llamadas áreas no convencionales (los ejemplos más comunes son los sistemas de automatización de diseño) en el que se requieren estructuras de datos extremadamente complejas. Otra falta de bases de datos relacionales es la imposibilidad de una reflexión adecuada de la semántica del área temática. En otras palabras, la posibilidad de presentar conocimiento sobre los aspectos semánticos del área temática en los sistemas relacionales es muy limitada. La investigación moderna en el campo de los sistemas de exploración se dedica principalmente a la eliminación de estas deficiencias.

Los principales conceptos de bases de datos relacionales son tipo de datos, dominio, atributo, tupla, clave primaria y actitud.

Concepto tipo de datos El modelo de datos relacionales se ve completamente afectado adecuadamente por el tipo de datos en los lenguajes de programación. Por lo general, en las bases de datos relacionales modernas permitieron el almacenamiento de datos simbólicos, numéricos, líneas de bits, datos numéricos especializados (como "dinero"), así como datos especiales "temporales" (fecha, hora, intervalo de tiempo). El enfoque para expandir las relaciones de los sistemas relacionales mediante tipos de datos abstractos (las capacidades apropiadas, por ejemplo, los sistemas familiares INGRES / Postgres) se están desarrollando.

La estructura de este modelo relacional.El modelo de datos relacionales organiza y representa datos en forma de tablas o familiares. Relación - Este es el término que vino de las matemáticas y que denota una tabla simple bidimensional. En un enfoque relacional para construir bases de datos, se utiliza la terminología de la teoría de las relaciones. La tabla bidimensional más simple se define como actitud.

Mesa Es el tipo principal de estructura de datos (objeto) del modelo relacional. La estructura de la tabla está determinada por el conjunto. columnas. Cada fila de la tabla contiene un valor en el apropiado columna. La tabla no puede ser dos líneas idénticas. El número total de filas no está limitado.

Columna Corresponde a algún elemento de datos - atributo cual es la estructura de datos más simple. La tabla no puede contener múltiples elementos, un grupo o un grupo de repetición, ya que en la red y los modelos jerárquicos se consideran arriba. Cada tabla de columnas debe tener nombre El elemento de datos correspondiente (atributo).

La columna de la tabla con los valores del atributo correspondiente se llama dominio y cuerdas con valores de diferentes atributos - envío.

Relacionado con la tabla relacional. En la Fig. 9 muestra una relación de tabla de relación R.. Definicion formal relaciones R (mesa relacional) se basa en la idea de ella dominiosD. I, (columnas) y cortech K. j (lineas). R una relación R, definida en conjuntos de dominios (D I), se llama un subconjunto decariova (directo) producto de dominiosD 1 * D 2 * ... ... * D n

Actitud de la mesa (Ver Fig. 1) Contiene columnas con los nombres de los elementos de datos: atributos (A 1, A 2, ...). Los valores de atributo D están en la parte del contenido de la tabla y forman filas y columnas. Muchos valores de atributo en una columna forman uno dominioD I.. Una pluralidad de valores de atributos en una línea Forma uno tribunal A j. Actitud R está formado por muchos ordenados tuplas.

R \u003d (kj), j \u003d 1- m kj \u003d (D 1J, D 2 J, ... D NJ),

donde n es el número de dominios de relación; Determina la dimensión de la relación;

j - Número de Corut;

m - El número total de tuplas en relación con llamado número de coordenadasrelaciones.

Fig .9. Ilustración de la relación de la tabla relacional.

Dominio. En la forma más general, el dominio está determinado por la tarea de un cierto tipo básico de datos a los que los elementos del dominio y el arbitrario expresión lógicaAplicado al elemento de tipo de datos. Si el cálculo de esta expresión lógica da el resultado de la "verdad", el elemento de datos es un elemento del dominio.

La interpretación intuitiva más correcta del concepto del dominio es la comprensión del dominio como un posible conjunto de valores permisible este tipo. Por ejemplo, los "nombres" de dominio en nuestro ejemplo se definen en el tipo básico de cadenas de caracteres, pero el número de valores puede incluir solo aquellas líneas que pueden retratar el nombre (en particular, dichas líneas no pueden comenzar con un suave firmar).

También se debe observar la carga semántica del concepto del dominio: los datos se consideran comparables solo cuando se relacionan con un dominio. En nuestro ejemplo, los dominios de los dominios "Los números de paso" y el "número de grupo" se refieren al tipo de enteros, pero no son comparables. Tenga en cuenta que en la mayoría de los DBMS relacionales, el concepto del dominio no se usa, aunque en Ogas1e V.7 ya está compatible.

Esquema de relación, esquema de base de datos. El esquema de relación es un conjunto de pares con nombre (nombre de atributo, nombre de dominio (o tipo, si el concepto del dominio no es compatible)). El grado de grado o "aria" de la relación es el poder de este conjunto. El grado de relación del ejemplo es seis, es decir, es de 6 €. Si todos los atributos de una relación se definen en diferentes dominios, usan inteligentemente para nombrar atributos los nombres de los dominios respectivos (sin olvidar, por supuesto, que es solo de una manera conveniente Nombrar y no elimina las diferencias entre los conceptos del dominio y el atributo). El esquema de la base de datos (en el sentido estructural) es un conjunto de esquemas de relaciones con nombre.

La lista en la que los nombres de las tablas relacionales se administran con la enumeración de sus atributos (las claves están subrayadas) y se llaman las definiciones de claves externas diagrama relacional de la base de datos. Es el resultado preliminar de la creación de la etapa del ciclo de vida de la base de datos relacional. Ejemplo:

Obrero [ Trabajador-id, Nombre, tasa por hora, tipo de habilidad, svpv-id]

Teclas externas: tipo de habilidad se refiere a la habilidad

SVPV-ID se refiere al trabajador

Asignación [ Trabajador-id, BLDG-ID, Fecha de inicio, número de días]

Teclas externas: el trabajador-ID refiere al trabajador

Bldg-ID se refiere a la bvilding

B compitación [ BLDG-ID, Dirección, Tipo, Qlty-Level, STATVS]

Habilidad [ Tipo de habilidad, Tasa de bonificación, horas por semana]

Tupla, actitud. La tupla correspondiente a este esquema de relación es un conjunto de pares (nombre de atributo, un valor que contiene una entrada de cada nombre de atributo que pertenece al esquema de relaciones. "Valor" es el valor permisible del dominio de este atributo (o tipo de datos, Si el concepto del dominio no es compatible). Por lo tanto, el grado o "arnost" del corbeto, es decir, el número de elementos en ella coincide con la "aridad" del esquema correspondiente de la relación. Simplemente puso, una tupla es un conjunto de valores con nombre del tipo especificado.

Actitud - Este es un conjunto de tupones correspondientes a un esquema de relación. A veces, no debe confundirse, dicen "ratio-esquema" y "Actitud-Copia", a veces se llama un plan de relación el título de la relación, y la actitud como un conjunto de tuplas es una relación. De hecho, el concepto del esquema de relación es el más cercano al concepto de un tipo estructural de datos en lenguajes de programación. Sería bastante lógicamente permitiendo definir por separado el esquema de relación, y luego una o más relaciones con este esquema.

Sin embargo, esto no se acepta en las bases de datos relacionales. El nombre del plan de relaciones en dichas bases de datos siempre coincide con el nombre del espécimen correspondiente. En las bases de datos relacionales clásicas, después de determinar el esquema de la base de datos, solo se cambian la configuración. Pueden aparecer nuevos y removibles o modificar los cuentos existentes. Sin embargo, se permiten muchas implementaciones cambiar el esquema de la base de datos: determinar el nuevo y el cambio de circuitos de relaciones existentes. Se llama evolución del esquema de la base de datos.

La representación diaria habitual de la relación es la tabla, cuyo título es el esquema de la relación y las líneas, la corteza del espécimen; En este caso, los nombres de los atributos se refieren a las columnas de esta tabla. Por lo tanto, a veces dicen la "columna de la tabla", que significa "atributo de la relación". Cuando procedemos a considerar los problemas prácticos de organizar las bases de datos relacionales y las herramientas de gestión, usaremos esta terminología diaria. Esta terminología se adhiere a la mayoría de los DBMS relacionales comerciales.

La base de datos relacional es un conjunto de relaciones cuyos nombres coinciden con los nombres de los esquemas de relaciones en el esquema de la base de datos.

Como se puede ver, los principales conceptos estructurales del modelo de datos relacionales (excepto el concepto de dominio) tienen una interpretación intuitiva muy simple, aunque en la teoría de la base de datos relacionales, todos están determinados de manera absolutamente formal y precisa.

Relación de mesa clave. Los corderos no deben repetirse dentro. tablas-Relaciones Y, en consecuencia, deben tener un identificador único. clave primaria.Uno o más atributos cuyos valores identifican de manera inequívoca la fila de la tabla son clave Mesas.

La clave principal se llama sencillo , Cuando consiste en un atributo, o compuesto Cuando consta de varios atributos. Además de la clave principal, en relación con puede existir y claves secundarias.

Clave secundaria Esta es una clave tal cuyos valores se pueden repetir en diferentes filas-cuentos. Puede haber un grupo de filas con el mismo valor de la clave secundaria.

Tecla externa - Este es un conjunto de atributos de una tabla, que es la clave de otra tabla (o la misma). Las teclas externas proporcionan enlaces importantes entre las tablas. Se utilizan para asociar datos de una tabla con datos en otra tabla. Los atributos de clave externa no tienen que tener los mismos nombres que los atributos clave que coinciden.


Información similar.


Este artículo comenzamos un nuevo ciclo dedicado a las bases de datos, las tecnologías de acceso a datos modernas y su procesamiento. A lo largo de este ciclo, planeamos considerar los sistemas de gestión de escritorio y servidor más populares. bases de datos (DBMS), mecanismos de acceso a datos (antiguo DB, ADO, BDE, etc.) y utilidades para trabajar con bases de datos (herramientas de administración, generadores de informes, herramientas de representación gráfica de datos). Además, planeamos prestar atención a los métodos de publicación de datos en Internet, así como métodos populares para procesar y almacenar datos, como OLAP (procesamiento analítico en línea) y crear almacenes de datos (almacén de datos).

En este artículo, consideraremos los conceptos y principios básicos que subyacen a los sistemas de gestión de bases de datos. Discutiremos el modelo de datos relacionales, el concepto. integridad de referencia y los principios de normalización de datos, así como herramientas de diseño de datos. Luego le diremos, cuáles son los DBMS, qué objetos pueden estar contenidos en las bases de datos y cómo se realizan solicitudes a estos objetos.

Los principales conceptos de bases de datos relacionales.

Comencemos con los conceptos básicos de DBMS y una breve introducción a la teoría de las bases de datos relacionales: el método de almacenamiento de datos más popular es ahora.

Modelo de datos relacionales

Modelo de datos relacionales E.F. KODDD (Dr. E.F.CODD), un investigador de base de datos conocido, en 1969, cuando fue un empleado de IBM. Por primera vez, los conceptos básicos de este modelo se publicaron en 1970. Un modelo relacional de datos para grandes bancos de datos compartidos, CACM, 1970, 13 N 6).

La base de datos relacional es un almacén de datos que contiene un conjunto de tablas bidimensionales. Un conjunto de medios para administrar un almacenamiento de este tipo llamado sistema de gestión de bases de datos relacional (RSUBD). RSubd puede contener utilidades, aplicaciones, servicios, bibliotecas, herramientas de creación de aplicaciones y otros componentes.

Cualquier tabla de base de datos relacional consiste en fila (también referido también notas) I. columna (también referido también campos). En este ciclo, usaremos ambos pares de términos.

Las filas de tabla contienen información sobre los hechos presentados en ella (o documentos o personas, en una palabra, sobre el mismo tipo de objetos). En la intersección de la columna y las líneas son los valores específicos de los datos contenidos en la tabla.

Los datos en las tablas cumplen los siguientes principios:

  1. Cada valor contenido en la intersección de la cadena y la columna debe ser atómico (es decir, no desmembrado por varios valores).
  2. Los valores de datos en la misma columna deben pertenecer al mismo tipo disponible para su uso en este DBMS.
  3. Cada entrada en la tabla es única, es decir, no hay dos entradas en la tabla con un conjunto de valores totalmente coincididas de sus campos.
  4. Cada campo tiene un nombre único.
  5. La secuencia de campos en la tabla es insignificante.
  6. La secuencia de registros también es insignificante.

A pesar del hecho de que las filas de las tablas se consideran desordenadas, cualquier sistema de gestión de bases de datos permite clasificar cadenas y columnas en muestras por el usuario deseado.

Dado que la secuencia de columnas en la tabla es insignificante, la apelación a ellos se hace por su nombre, y estos nombres para esta tabla son únicos (pero no necesariamente son únicos para toda la base de datos).

Entonces, ahora sabemos que las bases de datos relacionales consisten en tablas. Para ilustrar algunas disposiciones teóricas y crear ejemplos, debemos elegir cualquier base de datos. Para no "inventar la rueda", utilizaremos la base de datos Northwind en el paquete de Microsoft servidor SQL Y Microsoft Access.

Ahora veamos los vínculos entre las tablas.

Llaves y conexiones

Echemos un vistazo a la tabla de los clientes Fragment (Clientes) de la base de datos Northwind (eliminamos los campos de él, insignificante para ilustrar enlaces entre tablas).

Dado que las líneas en la tabla están desordenadas, necesitamos una columna (o un conjunto de columnas múltiples) para la identificación única de cada fila. Dicha columna (o un conjunto de columnas) se llama clave primaria (cLAVE PRIMARIA.). Se requiere la clave principal de cualquier tabla para contener valores no vacíos únicos para cada fila.

Si la clave principal consiste en más de una columna, se llama clave primaria compuesta (clave primaria compuesta).

Una base de datos típica generalmente consta de varias tablas relacionadas. Fragmento de la tabla de pedidos (pedidos).

El campo CustomerID de esta tabla contiene un identificador de cliente que reproduce este pedido. Si necesitamos averiguar qué se llama la compañía que se ha realizado el pedido, debemos buscar el mismo valor de ID de cliente en el campo CustomerID de la tabla de clientes y en la línea encontrada, lea el valor del campo Nombre de la empresa. En otras palabras, necesitamos atar dos mesas, clientes y pedidos, a lo largo del campo CustomerID. La columna que indica la entrada en otra tabla asociada con esta entrada se llama clave externa (clave externa.). Como vemos, en el caso de la tabla de pedidos, la clave externa es la columna CustomerID (Fig. 1).

En otras palabras, la clave externa es una columna o un conjunto de columnas cuyos valores coinciden con los valores existentes de la clave principal de otra tabla.

Esta relación entre las tablas se llama. mancomunidad (relacionalización). La conexión entre las dos tablas se configura asignando los valores clave externos de una tabla por los valores de la clave principal.

Si cada cliente en la tabla los clientes puede acomodar solo un pedido, dicen que estas dos tablas están asociadas con la relación doce y cincuenta y nueve de la noche (relación de uno a uno). Si cada cliente en la tabla, los clientes pueden colocar cero, uno o muchos pedidos, digamos que estas dos tablas están asociadas con la proporción uno a muchos (relación de uno a muchos) o por la proporción detalle de maestro. Tales relaciones entre las tablas se utilizan con mayor frecuencia. En este caso, se llama la tabla que contiene la tecla externa. mesa de detalle, y una tabla que contiene la clave principal que determina los valores posibles de la tecla externa llamada mesa principal.

Se llama un grupo de tablas relacionadas. esquema Base de datos ( esquema de base de datos.). Información sobre tablas, sus columnas (nombres, tipo de datos, longitud del campo), teclas primarias y externas, así como otros objetos de base de datos, llamados metadatos (metadatos.).

Cualquier manipulación con datos en bases de datos, como la opción, insertar, eliminar, actualizar datos, cambiar o seleccionar metadatos, se llaman pedido a la base de datos ( consulta.). Típicamente, las consultas se formulan en un idioma que puede ser tanto estándar para diferentes DBMS, y dependiendo de los DBM específicos.

Refinar la integridad

ANTERIOR, ya hemos hablado sobre el hecho de que la clave principal de cualquier tabla debe contener valores no vacíos únicos para esta tabla. Esta declaración es una de las reglas. integridad de referencia (integridad referencial.). Algunos (pero no todos) DBMS pueden controlar la singularidad de las teclas primarias. Si el DBMS controla la singularidad de las teclas primarias, al intentar asignar una clave principal al valor ya existente en otro registro, el DBMS generará un mensaje de diagnóstico que generalmente contiene la frase violación clave principal.. Este mensaje puede transmitirse posteriormente a la aplicación con la que el usuario final manipula los datos.

Si dos tablas están asociadas con la relación. detalle de maestro, clave externa detalle-las tablas deben contener solo aquellos valores que ya están disponibles entre los valores clave primarios. mAESTRO-mesas. Si la DBMS no es monitoreada la exactitud de los valores clave externos, podemos hablar de la integridad de referencia deteriorada. En este caso, si eliminamos un registro de la tabla de clientes que tiene al menos uno asociado con él detalle-grabación en la tabla de pedidos, esto conducirá al hecho de que la tabla de pedidos se registrará sobre los pedidos realizados por desconocidos por los cuales. Si los DBMS controlan la exactitud de los valores de la tecla externa, al intentar asignar una clave externa al valor que falta entre los valores clave principal de los maestros, o al eliminar o modificar las entradas de la tabla maestra que conducen a un trastorno de integridad de referencia, Los DBMS generarán un mensaje de diagnóstico que generalmente comprende una frase violación de clave extranjera.que luego puede transmitirse a la aplicación de usuario.

La mayoría de los DBM más modernos, como Microsoft Access 97, Microsoft Access 2000 y Microsoft SQL. El servidor 7.0 es capaz de monitorear el cumplimiento de las reglas de integridad de referencia si se describen en la base de datos. Para este propósito, dichos DBMS utilizan varios objetos de base de datos (los discutiremos un poco más tarde). En este caso, todos los intentos de violar las reglas de integridad de referencia se suprimirán con la generación simultánea de mensajes de diagnóstico o excepciones ( excepciones de la base de datos.).

Introducción a la normalización de datos.

El proceso de diseño de datos es la definición de metadatos de acuerdo con las tareas del sistema de información en el que se utilizará la base de datos futura. Detalles sobre cómo realizar un análisis del área temática, crear diagramas de "comunicación de esencia" ( ERD - Diagramas de relación de entidad) y el modelo de datos, vaya más allá del alcance de este ciclo. Interesado en estas preguntas puede contactar, por ejemplo, al libro de K.J.Detit "Introducción a los sistemas de base de datos" ("Dialécticos", Kiev, 1998).

En este artículo, discutiremos solo uno de los principios básicos del diseño de datos: el principio normalización.

Normalización Es un proceso para reorganizar los datos eliminando grupos repetidos y otras contradicciones en el almacenamiento de datos para llevar las tablas a la especie que le permita realizar la edición de datos coherente y correcta.

La teoría de la normalización se basa en el concepto de formas normales. Se dice que la tabla está en esta forma normal, si cumple con un determinado conjunto de requisitos. En teoría, hay cinco formas normales, pero en la práctica solo se usan los tres primeros tres. Además, las dos primeras formas normales son esencialmente medidas intermedias para llevar la base de datos al tercer formulario normal.

Primera forma normal

Ilustramos el proceso de normalización en el ejemplo utilizando los datos de la base Northwind. Supongamos que registramos todos los productos pedidos en la siguiente tabla. La estructura de esta tabla tiene la forma (Fig. 2).

Para que la tabla corresponda a la primera forma normal, todos los valores de sus campos deben ser atómicos, y

todos los registros son únicos. Por lo tanto, cualquier tabla relacional, incluida la tabla de productos solicitados, por definición, ya está en la primera forma normal.

Sin embargo, esta tabla contiene datos redundantes, por ejemplo, la misma información del cliente se repite en los registros de cada producto solicitado. El resultado de la redundancia de datos son anomalías de modificación. problemas de datosSurgiendo al agregar, cambiar o eliminar registros. Por ejemplo, al editar datos en la tabla PedidosProductos, pueden ocurrir los siguientes problemas:

  • La dirección de un cliente en particular puede estar contenida en la base de datos solo cuando el cliente ordenó al menos un producto.
  • Cuando elimina una grabación sobre el producto solicitado, elimine simultáneamente información sobre el propio pedido y sobre el cliente, que se ha enfatizado.
  • Si, Dios no lo permita, el cliente ha cambiado la dirección, deberá actualizar todos los registros sobre los productos que se les ordenó.

Algunos de estos problemas se pueden resolver al traer la base de datos a segunda forma normal.

Segunda forma normal

Se dice que la tabla relacional está en segunda forma normalSi está en la primera forma normal y sus campos de no selección. depender completamente De toda la clave primaria.

La tabla de productos solicitados se encuentra en la primera, pero no en la segunda forma normal, ya que el campo CustomerID, la dirección y el ordenado dependen del campo PDERID, que forma parte de la clave primaria compuesta (orden, productID).

Para pasar del primer formulario normal al segundo, debe realizar los siguientes pasos:

  1. Determine qué partes puede romper la clave principal para que algunos de los campos no de campo dependen de una de estas partes ( ¡Estas partes no están obligadas a consistir en una columna!).
  2. Cree una nueva tabla para cada parte de la parte de la tecla y los campos dependientes del grupo y muévelos a esta tabla. Parte de la clave principal anterior será la clave principal de la nueva tabla.
  3. Eliminar de la tabla de origen del campo desplazado a otras tablas, excepto aquellas de ellas que se convertirán en llaves externas.

Por ejemplo, para llevar la tabla de productos solicitados al segundo formulario normal, debe mover el CustomerID, la dirección y ordenar los campos en la nueva tabla (Llámelo itsInfo), mientras que el campo OrderID se convertirá en la clave principal de la nueva tabla (Fig. . 3).

Como resultado, las nuevas tablas adquirirán tales especies. Sin embargo, las tablas en el segundo, pero no en la tercera forma normal aún contienen anomalías de modificación de datos. Aquí están lo que son, por ejemplo, para la tabla OrderSInfo:

  • La dirección de un cliente específico aún puede estar contenida en la base de datos solo cuando el cliente ordenó al menos un producto.
  • Eliminar un pedido para el pedido en la tabla OrderSInfo eliminará un registro sobre el propio cliente.
  • Si el cliente ha cambiado la dirección, deberá actualizar varios registros (aunque generalmente hay menos que en el caso anterior).

Eliminar estas anomalías cambiando a tercer forma normal.

Tercer forma normal

Se dice que la tabla relacional está en tercer forma normalSi está en la segunda forma normal y todos sus campos de no selección dependen solo de la clave principal.

La tabla de pedidos ya está en la tercera forma normal. El campo de cantidad no selectiva depende completamente de la clave primaria compuesta (PEDIDED, PRODUCTID). Sin embargo, la tabla OrderSInfo en la tercera forma normal no se encuentra, ya que contiene la relación entre los campos no selectivos (se llama adicción transitiva- dependencia de transitivedencia) - El campo de la dirección depende del campo CustomerID.

Para pasar de la segunda forma normal al tercero, debe realizar los siguientes pasos:

  • Determine todos los campos (o grupos de campos), en los que dependen otros campos.
  • Cree una nueva tabla para cada campo (o grupo de campos) y los campos dependientes del grupo y muévelos a esta tabla. El campo (o grupo de campos), en el que todos los demás campos desplazados dependen de esto, con la clave principal de la nueva tabla.
  • Retire los campos desplazados de la tabla de origen, dejando solo aquellos de ellos que se convertirán en llaves externas.

Para llevar la tabla de OrdersInfo a un tercer formulario normal, cree una nueva tabla de clientes y mueva los campos CustomerID y Dirección. El campo de dirección de la tabla de origen se elimina, y el campo CustomerID se irá, ahora es una clave externa (Fig. 4).

Entonces, después de llevar la tabla de origen a la tercera forma normal de las tablas, tres clientes, pedidos y pedidos.

Ventajas de la normalización.

La normalización elimina la redundancia de datos, lo que reduce la cantidad de datos almacenados y deshacerse de las anomalías descritas anteriormente. Por ejemplo, después de llevar la base de datos mencionada anteriormente al tercer formulario normal, las siguientes mejoras son evidentes:

  • La información sobre la dirección del cliente se puede almacenar en la base de datos, incluso si es solo cliente potencialque aún no ha colocado un solo pedido.
  • La información sobre el producto ordenado se puede eliminar sin miedo a eliminar los datos y el pedido del cliente.

Cambiar la dirección del cliente o la fecha de registro del pedido ahora requiere solo un cambio de grabación.

¿Cómo se diseñan las bases de datos?

Por lo general, los DBMS modernos contienen medios para crear tablas y llaves. También hay utilidades suministradas por separado de los DBMS (e incluso sirviendo a varios DBMS simultáneamente), lo que le permite crear tablas, llaves y comunicación.

Otra forma de crear tablas, claves y comunicación en la base de datos es la escritura del llamado Script DDL (DDL - Idioma de definición de datos; Hablaremos de eso un poco más tarde).

Finalmente, hay otra forma en que se está volviendo cada vez más popular, este es el uso de herramientas especiales llamadas caso (caso significa ingeniería de sistemas asistidos por computadora). Hay varios tipos de herramientas de casos, pero para crear bases de datos, la mayoría de las veces use herramientas para crear "diagramas de relaciones entre entidades" (diagramas E / R). El uso de estas herramientas se crea el llamado lógico El modelo de datos que describe los hechos y los objetos que se registrarán en él (en tales modelos, los prototipos de tablas se llaman entidades (entidades) y los campos, sus atributos (atributos). Después de establecer vínculos entre entidades, definir atributos y normalización, el -Callado se crea. físico Modelo de datos para un DBM específico en el que se definen todas las tablas, campos y otros objetos de base de datos. Después de eso, puede generar la base de datos en sí misma o el escenario DDL para su creación.

Lista de los fondos de casos más populares.

Mesas y campos

Las tablas son compatibles con todos los DBMS relacionales, y los datos se pueden almacenar en sus campos. diferentes tipos. Los tipos de datos más comunes.

Índices

Justo arriba, hablamos sobre el papel de las claves primarias y externas. En la mayoría de los DBMS relacional, las claves se implementan utilizando objetos llamados índices que se pueden definir como una lista de números de registro que indican en qué orden para proporcionarlos.

Ya sabemos que las entradas en tablas relacionales son desordenadas. Sin embargo, cualquier registro en un punto específico en el tiempo tiene una ubicación física completamente definida en el archivo de la base de datos, aunque puede cambiar en el proceso de edición de datos o como resultado de "actividades internas" de la propia DBMS.

Supongamos que en algún momento la grabación de tiempo en la tabla de los clientes se mantuvo de tal manera.

Supongamos que necesitamos obtener estos datos solicitados por el campo CustomerID. Bajando los detalles técnicos, podemos decir que el índice en este campo es una secuencia de números de registro, según los cuales deben ser emitidos, es decir:

1,6,4,2,5,3

Si queremos agilizar la entrada en el campo Dirección, la secuencia de números de registro será diferente:

5,4,1,6,2,3

El almacenamiento de índices requiere un espacio significativamente menor que el almacenamiento de diferentes versiones ordenadas de la tabla en sí.

Si necesitamos encontrar datos de clientes de los cuales CustomerID comienza con los caracteres "BO", podemos encontrar la ubicación de estos registros utilizando el índice (en este caso 2 y 5 (es obvio que en el índice de estos registros van en un Fila) y luego leerlo es el segundo y quinto registro que en lugar de ver toda la tabla. Por lo tanto, el uso de índices reduce el tiempo de la muestra de datos.

Ya hemos hablado del hecho de que la ubicación física de los registros puede cambiar en el proceso de edición de estos usuarios, así como como resultado de las manipulaciones con los archivos de base de datos realizados por el propio DBMS (por ejemplo, la compresión de datos, el ensamblaje de la basura, etc. .). Si se producen los cambios y el índice apropiados, se llama soportado Y tales índices se utilizan en la mayoría de los DBM más modernos. La implementación de tales índices conduce al hecho de que cualquier cambio de datos en la tabla conlleva un cambio en sus índices asociados, y esto aumenta el tiempo requerido por los DBMS para realizar dichas operaciones. Por lo tanto, cuando se utiliza dichos DBM, solo se deben crear aquellos índices, que son realmente necesarios y se guían por qué las solicitudes se cumplirán con mayor frecuencia.

Restricciones y reglas

La mayoría de los DBM de servidor modernos contienen objetos especiales llamados restricciones (Restricciones), o reglas (Reglas). Estos objetos contienen información sobre las restricciones impuestas en los posibles valores de los campos. Por ejemplo, utilizando dicho objeto, puede establecer el valor máximo o mínimo para este campo, y después de eso, los DBMS no le permitirán guardar un registro que no satisfaga esta condición en la base de datos.

Además de las limitaciones asociadas con el rango de instalación de los cambios de datos, también hay limitaciones de referencia (las restricciones referenciales, como la conexión de detalle maestro entre los clientes y las tablas de pedidos, se pueden implementar como una restricción que contiene el requisito de que el valor de la El campo CustomerID (clave externa) en la tabla de pedidos fue igual a uno de los valores existentes de los valores del campo CustomerID del campo del cliente.

Tenga en cuenta que no todas las restricciones de soporte de DBMS. En este caso, para implementar una funcionalidad similar de las reglas, puede usar otros objetos (por ejemplo, desencadenantes) o almacenar estas reglas en aplicaciones cliente que funcionan con esta base de datos.

Representación

Casi todos los DBMS relacionales apoyan las presentaciones (vistas). Este objeto es una tabla virtual que proporciona datos de una o más tablas reales. Realmente, no contiene ningún dato, pero solo describe su fuente.

A menudo, tales objetos se crean para el almacenamiento en las bases de datos de consultas complejas. De hecho, la vista es una solicitud de almacenamiento.

La creación de vistas en la mayoría de los DBMS modernos se realiza mediante medios visuales especiales, lo que le permite mostrar las tablas necesarias en la pantalla, para establecer enlaces entre ellos, seleccione los campos mostrados, ingresa las restricciones en el registro y otros.

A menudo, estos objetos se utilizan para garantizar la seguridad de los datos, por ejemplo, al resolver la visualización de datos con su ayuda sin proporcionar acceso directamente a las tablas. Además, algunos objetos de envío pueden devolver diferentes datos dependiendo, por ejemplo, en nombre del usuario, lo que le permite recibir solo sus datos.

Disparadores y procedimientos almacenados.

Los disparadores y los procedimientos almacenados admitidos en la mayoría de los DBM de servidor modernos se utilizan para almacenar el código ejecutable.

El procedimiento almacenado es un tipo especial de procedimiento realizado por el servidor de la base de datos. Los procedimientos almacenados se escriben en un lenguaje procesal, que depende de los DBM específicos. Pueden llamarse entre sí para leer y cambiar los datos en tablas, y se pueden llamar desde la aplicación cliente que opera con la base de datos.

Los procedimientos almacenados se usan comúnmente cuando realizan tareas comunes (por ejemplo, la reducción de un saldo contable). Pueden tener argumentos, valores de retorno, códigos de error y, a veces, conjuntos de fila y altavoces (dicho conjunto de datos a veces se denomina conjunto de datos del término). Sin embargo, el último tipo de procedimientos no es compatible con todos los DBMS.

Los disparadores también contienen código ejecutable, pero, en contraste con los procedimientos, no se pueden llamar desde la aplicación cliente o el procedimiento almacenado. El disparador siempre se asocia con una tabla específica y se ejecuta cuando está editando esta tabla, llega un evento con el que está conectado (por ejemplo, insertar, eliminar o actualizar el registro).

En la mayoría de los desencadenantes de soporte de DBMS, puede definir varios desencadenantes que se realizan cuando ocurre el mismo evento y determine el orden de la ejecución.

Objetos para generar claves primarias.

Muy a menudo, las claves primarias son generadas por el propio DBMS. Es más conveniente que su generación en la aplicación del cliente, ya que cuando la operación multijugador, la generación de claves utilizando DBMS es la única forma de evitar la duplicación de las claves y recibir sus valores consecutivos.

Diferentes DBMS usan diferentes objetos para generar llaves. Algunos de estos objetos almacenan un entero y las reglas en las que se genera el valor siguiente, se logra con la ayuda de los desencadenantes. Dichos objetos son compatibles, por ejemplo, en Oracle (en este caso, se llaman secuencias de secuencias) y en la base de datos IB (en este caso, se llaman generadores de generadores).

Algunos DBMS admiten tipos especiales de claves primarias. Al agregar registros, tales campos se llenan con valores automáticamente secuenciales (generalmente entero). En el caso de Microsoft Access y Microsoft SQL Server, dichos campos se denominan campos de identidad, y en el caso de COREL PARADOX - CAMPOS DE AUTO-CREQUY (Campos AutoIncrement).

Usuarios y rollos

La prevención del acceso a los datos no autorizados es un problema grave que se resuelve diferentes caminos. El más fácil es la protección de contraseña o la tabla completa, o algunos de sus campos (se admite dicho mecanismo, por ejemplo, en Corel Paradox).

Actualmente, otro método de protección de datos es más popular, creando una lista de usuarios (usuarios) con nombres (contraseñas). En este caso, cualquier objeto de base de datos pertenece a un usuario específico, y este usuario proporciona a otros usuarios que lean o modifiquen los datos de este objeto o para modificar el objeto en sí. Este método se aplica en todos los servidores y algunos DBMS de escritorio (por ejemplo, Microsoft Access).

Algunos DBMS, en su mayoría servidor, soportan no solo la lista de usuarios, sino también los roles (roles). El rol es un conjunto de privilegios. Si un usuario específico recibe uno o más roles, y con ellos, y todos los privilegios definidos para este rol.

Solicitudes de bases de datos

La modificación y la selección de datos, cambio en metadatos y algunas otras operaciones se llevan a cabo utilizando consultas (consulta). La mayoría de los DBMS modernos (y algunas herramientas de desarrollo de aplicaciones) contienen fondos para generar tales solicitudes.

Una de las formas de manipular los datos se denomina "consultas por ejemplo" (QBE): un patrón por muestra. QBE es un medio para las tablas de encuadernación visual y la selección de campos que se mostrarán como resultado de una consulta.

En la mayoría de los DBMS (con la excepción de algún escritorio), la construcción visual de una consulta que usa QBE conduce a la generación del texto de la consulta utilizando un idioma de consulta SQL especial (lenguaje de consulta estructurado). También puede escribir una solicitud directamente en SQL.

Cursores

A menudo, el resultado de la consulta es un conjunto de filas y columnas (conjunto de datos). En contraste con la tabla relacional, en un conjunto de cadenas se ordenan, y su orden está determinada por la solicitud de origen (y, a veces, la presencia de índices). Por lo tanto, podemos determinar la línea actual en dicho conjunto y puntero, que se llama el cursor (cursor).

La mayoría de los DBM muestran modernos, soportan los llamados cursores bidireccionales (cursores bidireccionales), lo que le permite moverse a lo largo del conjunto de datos resultantes lo más adelante y hacia adelante. Sin embargo, algunos DBMS solo admiten cursores unidireccionales, lo que le permite pasar el conjunto de datos solo hacia adelante.

Lenguaje SQL

El lenguaje de consulta estructurado (SQL) es un lenguaje no rentable que se utiliza para formular consultas a las bases de datos en la mayoría de los DBM modernos y actualmente es un estándar industrial.

El lenguaje de la Nigromancia significa que se puede especificar que debe hacer con la base de datos, pero no puede describir el algoritmo de este proceso. Todos los algoritmos de procesamiento de SQL son generados por el propio DBMS y no dependen del usuario. El idioma SQL consiste en un conjunto de operadores que se pueden dividir en varias categorías:

  • Idioma de definición de datos (DDL): lenguaje de definición de datos que le permite crear, eliminar y cambiar objetos en bases de datos
  • Idioma de manipulación de datos (DML): lenguaje de gestión de datos que le permite modificar, agregar y eliminar datos en los objetos de la base de datos disponibles
  • Idiomas de control de datos (DCL) - Idioma utilizado para administrar privilegios de usuario
  • Idioma de control de transacciones (TCL): idioma para administrar cambios realizados por grupos de operadores
  • Idioma de control del cursor (CCL): operadores para determinar el cursor, la preparación de los operadores de SQL para realizar y algunas otras operaciones.

Informará más detalles sobre el idioma SQL en uno de los siguientes artículos de este ciclo.

Funciones definidas por el usuario

Algunos DBMS permiten el uso de funciones definidas por el usuario (Funciones definidas por el usuario UDF). Estas funciones generalmente se almacenan en bibliotecas externas y deben registrarse en la base de datos, después de lo cual se pueden usar en consultas, desencadenantes y procedimientos almacenados.

Dado que las funciones definidas por el usuario están contenidas en las bibliotecas, se pueden crear utilizando cualquier medio de desarrollo que le permita crear bibliotecas para la plataforma en la que funciona esta DBMS.

Actas

Transacción (transacción) es un grupo de operaciones de datos que se cumplen o se cancelan completamente.

Transacción de finalización (confirmación) significa que todas las operaciones incluidas en la transacción se completan con éxito, y el resultado de su operación se guarda en la base de datos.

Rollback de la transacción significa que todas las operaciones ejecutadas incluidas en la transacción se cancelan y todos los objetos de la base de datos afectados por estas operaciones se devuelven a su estado original. Para implementar la capacidad de devolver la transacción, muchos DBMS admiten la entrada en los archivos de registro que le permiten restaurar los datos de origen cuando se reúne.

La transacción puede consistir en varias transacciones anidadas.

Algunos DBMS son compatibles con la finalización de dos fases de transacciones (confirmación de dos fases) es un proceso que permite transacciones sobre múltiples bases de datos relacionadas con el mismo DBMS.

Para apoyar las transacciones distribuidas (es decir, las transacciones a través de las bases de datos gestionadas por diferentes DBMS), existen medios especialesMonitores de transacción (monitores de transacción).

Conclusión

En este artículo, discutimos los conceptos principales de la construcción de DBMS relacional, los principios básicos del diseño de datos, y también contamos sobre qué objetos se pueden crear en bases de datos.

En el siguiente artículo, presentaremos a nuestros lectores los DBMS de escritorio más populares: DBASE, Paradox, Acceso, Visual FoxPro, funciona y discuten sus características principales.

ComputerPress 3 "2000

Inicio\u003e Conferencia

Conferencia BD CAPÍTULO 2 Bases de datos relacionales 2.1. Términos y definiciones El desarrollo de las bases de datos relacionales comenzó a fines de la década de 1960, cuando aparecieron las primeras obras, en las que se discutió la posibilidad de utilizar los métodos familiares para el especialista de un especialista en la presentación de datos en forma de tablas en forma de tablas. Algunos expertos tal una forma de presentar información llamados tablas de soluciones, otros algoritmos tabulares. Las garrapatas de teor de las bases de datos relacionales, la forma tabular de presentación de información se denominó modelos DataLog. El fundador de la teoría de las bases de datos relacionales es el empleado de la empresa IVM Dr. EF CODD, publicada el 6 de junio de 1970. El artículo "Modelo de datos relacionales para grandes bancos de datos colectivos" "un modelo relacional de datos para grandes bancos de datos compartidos ". En este artículo, el término "modelo de datos relativos" se utilizó por primera vez, que estableció el comienzo con las bases de datos relacionales. La teoría de las bases de datos relacionales desarrolladas en la década de 1970. En los Estados Unidos, el Dr. E. F. CODD, se basó en el aparato matemático de los conjuntos de Te-Oryol. Probó que cualquier conjunto de datos se puede pre-colocar en forma de tablas bidimensionales de una especie especial conocida en Matema-Tick como una relación. Desde la palabra en inglés "Relación" "Actitud") y se produjo el nombre "Modelo de datos relacionales". Actualmente, la base teórica para el diseño de bases de datos (base de datos) es el aparato matemático del álgebra relacional (consulte Subdaz. 1.2). Por lo tanto, la base de datos relacional está infinando (datos) en objetos representados en forma de matrices bidimensionales: tablas unidas por ciertos bonos. La base de datos puede consistir en una tabla. Antes de las atracciones, para estudiar aún más las bases de datos relacionales, considerar el término y las definiciones utilizadas en teoría y práctica. Tabla de base de datos- array bidimensionalque contiene la curiosidad de una clase de objetos. En la teoría del al-gebra relacional, se llama una matriz bidimensional (tabla) relación. La tabla consta de los siguientes elementos: campo, celda, por letra (Fig. 2.1). Campocontiene los valores de uno de los signos que caracterizan los objetos de BOD. El número de campos en la tabla corresponde al número de caracteres at-caracteres que caracterizan los objetos de BOD. 22. Célulacontiene el valor específico del campo correspondiente (la característica de un objeto). Registro- Fila de la tabla. Contiene los valores de todos los signos que caracterizan un objeto. El número de registros (líneas) corresponde a la cantidad de objetos que están contenidos en la pestaña. En la teoría de los términos de la base de datos. registrocorresponde al concepto. cor-tem- Secuencia de atributos relacionados entre sí y (s). En la teoría de los gráficos. tribunalesto significa una rama simple del gráfico orientado - madera. En la pestaña. 2.1 Se muestran los términos aplicados en la teoría y la práctica de desarrollar bases de datos relacionales. Uno de los conceptos importantes necesarios para construir una estructura op-tymal de las bases de datos relacionales es el concepto de una clave o un campo clave. Clavese considera el campo, cuyos valores de los cuales se determinan de forma única los valores de todos los demás campos en la tabla. Por ejemplo, el campo "Número de pasaporte", o el "Número de identificación del punto de impuesto (INN)", determina de manera única las características de cualquier persona (al obtener las tablas de base de datos correspondientes para los departamentos de personal o la contabilidad empresarial).
23

La clave clave puede no ser una, sino varios campos. En este caso, la pluralidad de campos puede ser una posible clave de clave solo cuando se cumplen dos condiciones de tiempo independientes: singularidad y minimalidad. Cada campo, no en la clave principal, no se llama un campo clave de la tabla.

Unicidadla clave significa que en cualquier momento la tabla de la base de datos no puede contener dos registros diferentes que tengan los mismos campos clave. Las condiciones de desempeño de la singularidad son obligatorias. Condición minimalidadlos campos clave significa que solo la combinación de los valores de los campos seleccionados cumple con los requisitos de la Uni-Calcity de las entradas de la tabla de la base de datos. Esto también significa que ninguno de los campos entrantes no se puede excluir de ella sin molestar la singularidad. Cuando forme una tecla de tabla de base de datos, que consiste en múltiples campos, debe ser guiado por las siguientes posiciones: no debe incluirse en la clave de campo de la tecla, los valores de los que ellos mismos identifican definitivamente las entradas en la pestaña. Por ejemplo, no debe crear una clave que contenga simultáneamente "Número de pasaporte" y "Número de identificación", ya que cada uno de estos atributos puede identificar de forma única las entradas en la tabla; Es imposible incluir un campo no único en la clave, es decir, el campo cuyos valores se pueden repetir en la tabla. Cada tabla debe tener al menos una clave de advertencia que se selecciona como clave primaria.Si hay campos en la tabla, cada uno de los cuales definice definitivamente los registros, estos campos pueden ser aceptados como claves alternativas.Por ejemplo, si selecciona el número de identificación del parche nano como la clave principal, entonces el número de pasaporte será una clave alternativa. 2.2. Normalización de tablas de base de datos relacional. La base de datos relacional es una cierta maravilla de mesas interconectadas. El número de tablas en un archivo o una base de datos depende de muchos factores, los cuales son: la composición de los usuarios de la base de datos, lo que garantiza la integridad de la información (especialmente importante en muchas personas sistemas de informaciónaH), asegurando la menor cantidad de memoria requerida y procesamiento de datos mini-tiempo. 24.

La contabilidad de estos factores en el diseño de las bases de datos relacionales se realiza mediante métodos de normalización de las tablas y las conexiones establecidas entre ellas.

Normalización de tablas.son los métodos de separación de una tabla de base de datos en varias tablas, en general, los requisitos de respuesta que se enumeran anteriormente. La normalización de la tabla es un cambio secuencial en la estructura de la tabla hasta que esté satisfecho con los requisitos de la última forma de normalización. Un total de seis formas de normalización:
    Primera forma normal - 1nf); Segunda forma normal (segundo formulario normal - 2nf); Tercera forma normal (Forma Normal Tercera - Znf); Forma normal de los niños - código (Forma Normal BRICE - CODD -BCNF); Cuarta forma normal (Gran partoForma normal - 4nf); Quinta forma normal, o forma de proyección normal: conexiones (quinta forma normal - 5NF, o PJ / NF ).
Al describir formas normales, se usa la siguiente intensidad: "Dependencia funcional entre campos"; "Dependencia funcional completa entre los campos"; "Dependencia funcional multivisal entre campos"; "Dependencia funcional transitiva entre los campos"; "Independencia mutua entre campos". Dependencia funcionalentre los campos A y B se llama una dependencia a la que cada valor A en cualquier momento corresponde al único valor de todos los posibles. Un ejemplo de una dependencia funcional es la relación entre el número de identificación del contribuyente y el número de su pasaporte. Dependencia funcional completaentre el campo compuesto A y el campo B llamado la dependencia a la que el campo B depende de lo funcionalmente del campo A y no dependa de ningún subconjunto del campo A. Dependencia funcional multivisalentre los campos se determina de la siguiente manera. El campo A determina multibantemente el campo B si por cada valor de campo y hay un "conjunto de defeccionamiento de buen defoming" de los valores correspondientes de los valores de V. campo, si consideramos la tabla de rendimiento del estudiante en SCC-LE, que Incluye los campos "Asunto" (campo a) y "Evaluación" (campo B), luego el campo B tiene un "conjunto bien definido" de las letras arriba: 1, 2, 3, 4, 5, es decir, para cada campo del campo "Objeto", hay una evaluación "bien definida" de campo "bien definido" de varios valores ". Dependencia funcional transitivaentre los campos A y C existen si el campo con funcionalmente depende de 25 campos B, y el campo depende funcionalmente del campo A; En este caso, no hay dependencia funcional del campo y del campo B. Independencia mutua entre camposdeterminado de la siguiente manera. Varios campos son mutuamente independientes, si ninguno de ellos depende funcionalmente de la otra. La primera forma normal.La tabla está en el primer formulario normal si y solo si ninguno de los campos contiene más de un valor y cualquier campo de clave no está vacío. La primera forma normal es la base del MO-DELI relacional. Cualquier tabla en la base de datos relacional de automáticamente está en el primer formulario normal, Otro simplemente no es posible por definición. En tal tabla, no debe contener campos XIA (señales), que podrían dividirse en varios campos (signos). Anormalizado, como regla general, hay tablas, tonterías no destinadas a procesar la computadora la información contenida en ellas. Por ejemplo, en la tabla. 2.2 Muestra el Frag-COP de la tabla del libro de referencia "Máquinas universales de corte de metales", publicadas por el Instituto Experimental de Investigación e Investigación de Máquinas de corte de metal (EIIES). Esta tabla es anormalizada por las siguientes razones. 1. Contiene líneas que tienen varios valores de un campo en una celda: "El mayor diámetro del tratamiento, mm" y "velocidad del husillo, rpm". 2. Un campo - " dimensiones (Longitud x ancho x alto), mm »se puede dividir en tres campos:" Longitud, mm "," shi-rin, mm "y" altura, mm ". La viabilidad de tal separación puede ser justificada por la necesidad de asentamientos posteriores de áreas u volúmenes ocupados. La tabla de origen debe transformarse en la primera forma nula. Para hacer esto, es necesario: los campos "El mayor diámetro del procesamiento, mm" y "la frecuencia del husillo, rpm" se divide en varios campos de acuerdo con el número de valores contenidos en la misma celda ;
26

Campo "Dimensiones generales (longitud x altura de ancho), mm", dividida en tres campos: "Longitud, mm", "Ancho, mm", "Altura, mm". El campo clave de esta tabla puede ser el campo "Máquina modelo" o la vista "No. P / P" de un formulario normal tiene una tabla. 2.3. Considera otro ejemplo. En la Fig. 2.2 muestra un fragmento del sótano de la declaración de examen, que, como en el ejemplo anterior, originalmente estaba destinado a las computadoras. Permita que desee crear una base de datos para el procesamiento automatizado de los resultados de la sesión de prueba y examen de acuerdo con
27

con el contenido de la declaración de examen. Para hacer esto, convertir el contenido del formulario en la tabla de la base de datos. Se está volando de la necesidad de cumplir con las condiciones de descarabilidad funcional entre los campos, es necesario formarse como mini-mamás, dos tablas (Fig. 2.3) (los campos clave en cada tabla se resaltan en negrita). La primera tabla contiene los resultados de la acreditación (examen) por cada estudiante en un objeto CONK-RETAL. La segunda tabla contiene los resultados resultantes del crédito (examen) de un grupo particular de estudiantes en un tema específico. En la primera tabla, la clave es la FIO FIO del estudiante, y en la segunda tabla, el campo de la "disciplina". Las líneas de tabulación deben estar interconectadas por los campos de "Disciplina" y "Cifrado de grupo".

Las estructuras de tabla presentadas cumplen plenamente los requisitos de la primera forma normal, pero se caracteriza por las siguientes desventajas: agregar nuevos datos a la tabla requiere valores de entrada para todos los campos; En cada línea de cada tabla, es necesario introducir valores de repetición de los campos de "Disciplina", "Fio del maestro", "Grupo cifrado". En consecuencia, con dicha composición de las tablas y su estructura, existe una redundancia clara de información, que, naturalmente, las cantidades adicionales de memoria de fuerza. Para evitar las deficiencias enumeradas, es necesario probar las tablas a la segunda o tercera forma normal. Segunda forma normal.La tabla está en la segunda forma normal si cumple con los requisitos del primer formulario normal y todos sus campos que no están incluidos en la clave principal se asocian con una dependencia funcional completa con la clave principal. 28.

Si la tabla tiene una clave primaria simple que consiste en un solo campo, se encuentra automáticamente en el segundo formulario normal.

Si la clave principal del compuesto, la tabla es opcional, pero está en el segundo formulario normal. Luego, debe dividirse en dos o más tablas, de modo que la clave principal esté identificada sin ambigüedad del valor en cualquier campo. Si hay al menos un campo que no depende de las plumas, las columnas actualizadas deben habilitarse a la clave principal. Si no hay tales columnas, debe agregar una nueva columna. Sobre la base de estas condiciones que determinan la segunda forma normal, las siguientes conclusiones se pueden extraer de acuerdo con las características de las tablas compiladas (ver Fig. 2.3). La primera tabla no tiene un vínculo directo entre el campo clave y el FIO FIO del maestro, ya que los diferentes maestros pueden tomar una prueba o examen. En TWC, hay una dependencia funcional completa solo entre todos los demás campos y un campo clave "Disciplina". De manera similar, no hay un enlace directo en la segunda tabla entre el campo de llave y el FIO FIEO del maestro. Para optimizar la base de datos, en particular, para reducir la cantidad de memoria requerida debido a la necesidad de repetir en cada registro de los valores de los campos "Disciplina" y el nombre completo, es necesario cambiar la estructura de la base de datos: Forme las tablas de origen en el segundo formulario normal. La composición de las tablas de la estructura de la base de datos modificada se muestra en la FIG. 2.4. La estructura de la base de datos transformada consiste en seis pestañas, dos de las cuales están interconectadas (los campos clave en cada tabla se resaltan en negrita). Todas las tablas satisfacen los requisitos de la segunda forma normal. Las tablas quinta y sexta tienen valores repetidos en los campos, pero, dado que estos valores son enteros en lugar de datos de texto, la cantidad total de memoria requerida para almacenar información es significativamente menor que en las tablas de origen (ver FIG. 2.1). Además, la nueva estructura de la base de datos garantizará la posibilidad de completar las tablas por varios especialistas (subividades de servicios de administración). La optimización adicional de las pestañas de la base de datos se reduce para llevarlas a la tercera forma normal. Tercera forma normal.La tabla está en el tercer molde Nor, si satisface la definición del segundo nor molde y ninguno de sus campos clave depende de lo funcionalmente desde cualquier otro campo no clave. 29.

También puede decir que la tabla está en el tercer molde Nor, si se encuentra en la segunda forma normal y cada campo que no es clave no depende de manera transitiva de la clave principal. El requisito de una tercera forma normal se reduce para garantizar que todos los campos clave dependa solo de la clave principal y no dependan entre sí. De acuerdo con estos requisitos en las tablas de la base de datos (ver Fig. 2.3), la tabla tercera, tercera y cuarta es la tercera forma normal. Para llevar las mesas quinta y sexta a la tercera forma normal, crearemos una nueva tabla que contenga información sobre los cien elementos para los cuales se realizan exámenes o pruebas en los grupos de estudiantes. Como clave, cree un campo "Contador", un número de registro de bigote en la tabla, ya que cada entrada debe ser única. treinta

Como resultado, obtenemos una nueva estructura de base de datos, que se muestra en la FIG. 2.5 (Los campos clave en cada tabla se resaltan en negrita). Esta estructura contiene siete pestañas que cumplen con los requisitos de la tercera forma normal.

La forma normal de los niños - código.La tabla está en la forma normal de los niños, el código solo si cualquier dependencia funcional entre sus campos se reduce a la dependencia funcional completa de la clave posible. De acuerdo a esta definición En la estructura de la base de datos (ver Fig. 2.4), todas las tablas cumplen con los requisitos de la forma normal de los niños, el código. La optimización adicional de las tablas de la base de datos debe reducirse a una descomposición de la tabla completa. Descomposición completa de la tabla.llaman un conjunto de un número arbitrario de sus proyecciones, cuya conexión está totalmente coincidida con los contenidos de la tabla. La proyección se llama una copia de la tabla, en la que no se incluye una o más columnas de la nueva tabla. Cuarta forma normal.La cuarta forma normal es un caso especial de una quinta forma normal, cuando la descomposición completa debe ser un compuesto de dos proyecciones.
31

Es muy difícil encontrar una tabla de este tipo para que esté en la cuarta forma normal, pero no satisfaga la definición de la quinta norma.

Quinta forma normal.La tabla está en la quinta forma normal si y solo si todas las proyecciones contienen todas las proyecciones en cada posición completa de DEK. Una tabla que no tiene una sola descomposición completa también está en la quinta forma normal. En la práctica, la optimización de las tablas de la base de datos termina con un tercer formulario normal. La creación de tablas a las formas normales cuarto y quinta representa, en nuestra opinión, interés puramente teórico. Casi este problema decide, el desarrollo de solicitudes para crear una nueva tabla. 2.3. Diseño de lazos entre tablas. El proceso de normalización de las tablas de origen de las bases de datos le permite crear una estructura de sistema de información óptima, una base de datos que realice una base de datos que requiera los recursos de memoria más pequeños y, como resultado, asegurando el acceso más pequeño a la información. Al mismo tiempo, la separación de una tabla de origen en varias COM requiere la implementación de una de las condiciones más importantes para el diseño de sistemas de información, lo que garantiza la integridad de la formación durante el funcionamiento de la base de datos. En el ejemplo anterior de la normalización de las pestañas de origen (ver Fig. 2.3), de las dos tablas, en última instancia, recibimos siete tablas dadas a las formas terceras y cuarta normales. Como lo demuestra la práctica, en la producción real y las bases de datos de negocios son sistemas multijugador. Esto se aplica tanto a la creación como a un mantenimiento de datos en tablas de tamaños y el uso de información para las decisiones. En el ejemplo anterior, en el sistema de funcionamiento en realidad de gestión del proceso educativo en una universidad o universidad, la formación por cargo de los grupos de capacitación se realiza mediante comisiones de aceptación al inscribir a los solicitantes según los resultados de los exámenes de ingreso. Se asigna un mayor mantenimiento de la información sobre la composición de los estudiantes en grupos en universidades a los decenas, y en los colegios de departamentos educativos o estructuras relevantes. La composición de las disciplinas educativas por grupos está determinada por otros servicios o especialistas. La información sobre el espacio-espacio se forma en los departamentos de personal. Los resultados de las sesiones de prueba y examen son necesarias para los líderes del decano y las oficinas, incluso para tomar decisiones sobre la provisión de 32 estudiantes de becas o "retirarse con SIPHEL-DIY" de estudiantes pobres. Cualquier cambio en cualquiera de las tablas de la base de datos debe estar encendido para caminar un cambio adecuado en todas las demás tablas. Esta es la esencia de la esencia de la integridad de la base de datos. Prak-tally Esta tarea se realiza estableciendo enlaces entre las tablas de la base de datos. Formulamos las reglas básicas para establecer enlaces entre las tablas. 1. Seleccione de dos tablas conectadas el principal y subordinado. 2. En cada tabla, seleccione un campo de clave. El campo clave se llama la mesa principal. clave primaria.El campo clave de la sub-mesa se llama tecla externa. 3. Los campos de unión de las tablas deben tener un tipo de datos. 4. Hay los siguientes tipos de enlaces entre las tablas: "uno a uno"; "Uno a muchos"; "Muchos a muchos": la conexión "uno a uno" se establece en los casos en que la línea específica de la tabla principal en cualquier momento está conectada con solo una línea de la tabla subordinada; La comunicación "uno a muchos" se establece en los casos en que la línea específica de la mesa principal en cualquier momento
33 está asociado con varias cadenas de la tabla subordinada; En este caso, cualquier línea de la tabla esclava está conectada solo con una línea de la tabla principal; La conexión "Muchas a muchos" se establece en los casos, clang-sí, la línea específica de la tabla principal en cualquier momento del tiempo está relacionada con varias cadenas de la tabla subordinada y al mismo tiempo se asocia una línea de la tabla esclava. Con filas antideslizantes de la mesa principal. Al cambiar el valor de clave principal en la tabla principal, son posibles las siguientes opciones para la tabla dependiente. Cascada.Al cambiar los datos de la clave principal en la tabla principal, los datos de clave externa correspondientes se cambian en la tabla dependiente. Todos los enlaces se conservan. Restringir.Al intentar cambiar el valor de las plumas, con las que se asocian las filas de la tabla dependiente, se rechazan los cambios. Se permite cambiar solo aquellos valores de la clave principal, para los cuales no hay conexión con la tabla dependiente. Configuración (relación).Al cambiar los datos de la clave principal, la tecla externa se establece en un valor indefinido (NULL). Se pierde información sobre la pertenencia de cadenas de la mesa dependiente. Si cambia varios valores de la clave principal, entonces en la tabla dependiente hay varios grupos de filas que estaban relacionadas anteriormente con las claves cambiadas. Después de esto, es imposible determinar qué línea con lo que se conectó la clave primaria. En la Fig. 2.6 Muestra los circuitos de relación entre las tablas de la base de datos mostradas en la FIG. 2.5. Preguntas de control 1. Dale a las definiciones al siguiente elemento de la tabla de la base de datos: campo, celda, grabación. 2. ¿Qué significa "Conceptos" Clave "," Campo de clave "? 3. ¿Qué campo de clave se llama la clave principal y cuál es la clave externa? 4. ¿Cuál es el proceso de normalizar las tablas de la base de datos? 5. ¿Cuáles son las cinco formas normales de las tablas de la base de datos? 6. Dé las definiciones mediante los siguientes tipos de conexiones entre las tablas de la base de datos: "uno a uno"; "Uno a muchos"; "Muchos a muchos".