10
Introducción a las Bases de Datos Relacionales Por Lan Gilfillan Introduction Muchos desarrolladores web son autodidactas, aprender HTML, a continuación, pasar a un lenguaje de programación como PHP. A partir de ahí, a menudo aprenden a integrar esto con una base de datos. Muy pocos, aunque tienen un buen conocimiento teórico de bases de datos. Mención claves foráneas, o la integridad referencial, y ya está reunido con una mirada en blanco. Bases de datos pequeñas pueden ser fácilmente diseñados con poco conocimiento la teoría de base de datos. Sin embargo, las bases de datos de gran tamaño puede salir fácilmente de las manos cuando mal diseñado, lo que lleva a los malos resultados, y dando lugar a toda la base de datos que necesitan ser reconstruidos más tarde. Este artículo es una breve introducción al tema de las bases de datos relacionales, y se espera abrir el apetito para una mayor exploración. El modelo de base de datos relacional Una base de datos puede ser entendido como una colección de archivos relacionados. ¿Cómo se relacionan esos archivos depende del modelo utilizado. Los primeros modelos incluyen el modelo jerárquico (donde los archivos están relacionados de manera principal / secundario, con cada archivo de niño que tiene a lo sumo un archivo principal), y el modelo de red (donde los archivos están relacionados como propietarios y miembros, similar al modelo de red, salvo que cada miembro de archivo puede tener más de un propietario). El modelo de base de datos relacional es un gran paso adelante, ya que permitía a los archivos que se relacionan por medio de un campo común. Con el fin de relacionar los dos archivos, simplemente necesita tener un campo común, que hace que el modelo extremadamente flexible. Poeta

Introduction to Relational Databases Español

Embed Size (px)

Citation preview

Page 1: Introduction to Relational Databases Español

Introducción a las Bases de Datos Relacionales

Por Lan Gilfillan

Introduction

Muchos desarrolladores web son autodidactas, aprender HTML, a continuación, pasar a un lenguaje de programación como PHP. A partir de ahí, a menudo aprenden a integrar esto con una base de datos. Muy pocos, aunque tienen un buen conocimiento teórico de bases de datos. Mención claves foráneas, o la integridad referencial, y ya está reunido con una mirada en blanco. Bases de datos pequeñas pueden ser fácilmente diseñados con poco conocimiento la teoría de base de datos. Sin embargo, las bases de datos de gran tamaño puede salir fácilmente de las manos cuando mal diseñado, lo que lleva a los malos resultados, y dando lugar a toda la base de datos que necesitan ser reconstruidos más tarde. Este artículo es una breve introducción al tema de las bases de datos relacionales, y se espera abrir el apetito para una mayor exploración.

El modelo de base de datos relacional

Una base de datos puede ser entendido como una colección de archivos relacionados. ¿Cómo se relacionan esos archivos depende del modelo utilizado. Los primeros modelos incluyen el modelo jerárquico (donde los archivos están relacionados de manera principal / secundario, con cada archivo de niño que tiene a lo sumo un archivo principal), y el modelo de red (donde los archivos están relacionados como propietarios y miembros, similar al modelo de red, salvo que cada miembro de archivo puede tener más de un propietario).

El modelo de base de datos relacional es un gran paso adelante, ya que permitía a los archivos que se relacionan por medio de un campo común. Con el fin de relacionar los dos archivos, simplemente necesita tener un campo común, que hace que el modelo extremadamente flexible.

Poeta

Code

First Name Surname

Age

1 Mongane Afrika 622 Stephen Serote 583 Tatumkhulu Watson 29

Poem

Title PoetWakening Night 1Thrones of Darkness 2Once 3

Page 2: Introduction to Relational Databases Español

Estas dos tablas se relacionan a través del campo de código en la tabla de poeta, y el campo poeta en la tabla poema. Podemos ver que escribió el poema "Una vez", siguiendo la relación, y ver que era poeta 3 o Tatumkhulu Watson.

En 1970, cuando EF Codd desarrollado el modelo, se cree que es poco práctico irremediablemente, como las máquinas de la época no podían hacer frente a la sobrecarga necesaria para mantener el modelo. Por supuesto, el hardware desde entonces ha llegado a pasos agigantados en el, por lo que hoy en día, incluso el más básico de PC puede ejecutar sofisticados sistemas de gestión de bases de datos relacionales. Junto a ello fue el desarrollo de SQL. SQL es relativamente fácil de aprender y permite que las personas aprendan rápidamente cómo realizar consultas en una base de datos relacional. Esta simplicidad es parte de la razón de que las bases de datos relacionales constituyen ahora la mayoría de las bases de datos que se encuentran.

Términos básicos

La comprensión de las bases de datos relacionales requiere una comprensión de algunos de los términos básicos.

• Los datos son los valores almacenados en la base de datos. Por su parte, los datos significan muy poco. "43156" es un ejemplo.

• La información son datos que se procesa a tener un significado. Por ejemplo, "43156" es la población de la ciudad de Littlewood.

• Una base de datos es una colección de tablas.

• Cada tabla contiene registros, que son las filas horizontales de la tabla. Éstos también se llaman tuplas.

• Cada registro contiene campos, que son las columnas verticales de la tabla. Éstos también se llaman atributos. Un ejemplo podría ser un registro del producto.

• Los campos pueden ser de muchos tipos diferentes. Hay muchos tipos estándar, y cada DBMS (sistema de gestión de base de datos, como Oracle o MySQL) también pueden tener sus propios tipos específicos, pero en general se incluyan al menos tres tipos - carácter, numéricos y de fecha. Por ejemplo, una descripción del producto sería un campo de caracteres, una fecha de lanzamiento del producto sería un campo de fecha, y una cantidad de productos en stock, sería un campo numérico.

• El dominio se refiere a los posibles valores de cada campo puede contener (a veces se llama una especificación de campo). Por ejemplo, un campo titulado "estado_civil" puede limitarse a los valores de "casadas" y "no casado".

• Un campo se dice que contiene un valor nulo cuando no contiene nada en absoluto. Los campos pueden crear complicaciones en los cálculos y tienen consecuencias para la exactitud de los datos.

Page 3: Introduction to Relational Databases Español

Por esta razón, muchos campos se establecen específicamente que no puede contener valores NULL.

• Una de las claves es una forma lógica de acceder a un registro de una tabla. Por ejemplo, en la tabla de productos, el campo product_id podría permitirnos identificar únicamente un registro. Una clave que identifica de forma única un registro se denomina una clave principal.

• Un índice es un mecanismo físico que mejora el rendimiento de una base de datos. Los índices se confunden a menudo con llaves. Sin embargo, estrictamente hablando que son parte de la estructura física, mientras que las teclas son parte de la estructura lógica.

• Una vista es una tabla virtual compuesta por un subconjunto de las tablas reales.

• Se produce un uno-a-uno (1:1) relación en la que, para cada instancia del cuadro A, sólo una instancia de la tabla B existe, y vice-versa. Por ejemplo, cada registro del vehículo se asocia con un único número de motor, y vice-versa.

• Un (1: m) de uno a muchos es que, para cada instancia del cuadro A, existen muchos casos de la tabla B, pero para cada instancia del cuadro B, sólo una vez instancia de la tabla A existe. Por ejemplo, para cada artista, hay muchas pinturas. Dado que es una relación de uno a muchos, y no manyto-muchos, en este caso, cada cuadro sólo puede haber sido pintada por un artista.

• A muchos a muchos (m: n) relación se produce cuando, para cada instancia del cuadro A, hay muchos casos de la tabla B, y para cada instancia de la tabla B, hay muchos casos de la tabla A. Por ejemplo, un Antología poética puede tener muchos autores, y cada autor puede aparecer en muchas antologías de poesía.

• Existe una relación obligatoria que, para cada instancia del cuadro A, debe existir una o más instancias de la tabla B. Por ejemplo, para una antología de la poesía de existir, debe existir al menos un poema en la antología. Lo contrario no es necesariamente cierto, sin embargo, que para un poema de existir, no hay necesidad de que para aparecer en una antología de poesía.

• Una relación opcional es donde, para cada instancia del cuadro A, pueden existir casos de la tabla B. Por ejemplo, un poeta no necesariamente tiene que aparecer en una antología de poesía. Lo contrario no es necesariamente cierto, sin embargo, por ejemplo, para la antología en la lista, debe tener algunos poetas.

• Integridad de datos describe la exactitud, validez y consistencia de los datos. Un ejemplo de mala integridad estaría en el nombre de un poeta se almacena de forma diferente en dos lugares diferentes.

• Normalización de base de datos es una técnica que nos ayuda a reducir la aparición de anomalías en los datos y la integridad de los datos pobres.

Tabla Keys

Page 4: Introduction to Relational Databases Español

Una de las claves es la herramienta para desbloquear el acceso a las tablas de bases de datos. Al conocer la clave, sabemos cómo localizar registros específicos, y atraviesan las relaciones entre tablas.

Una clave candidata es cualquier campo o combinación de campos que identifica de forma única un registro. El campo / s de la clave candidata debe contener valores únicos (si se duplican los valores, estarían ya no identificar los registros únicos), y no puede contener un valor nulo.

Una clave primaria es la clave candidata que se ha elegido para identificar los registros únicos en una tabla en particular.

Examine la tabla siguiente:

Poet

Code First Name Surname Age1 Mongane Afrika 622 Stephen Serote 583 Tatumkhulu Watson 29

Al principio parece que hay dos claves candidatas para esta tabla. Tanto el código como la combinación de 'nombre y apellidos serían suficientes. Siempre es mejor elegir la clave de candidato con el menor número de campos para la clave principal actual, por lo que elegiría código en este caso. Además, si pensamos un poco más, nos daremos cuenta de que hay una posibilidad de que la segunda combinación no ser único. La combinación de 'nombre y apellidos podría ser duplicado. Así que considere esto una elección de clave principal, tendríamos que estar seguros de que ninguno de nuestros poetas nunca podría tener el mismo nombre. Esta es la razón por la que asignamos campos de código. Los códigos son asignados por el sistema, por lo que podemos asegurar nunca hay códigos duplicados. Después de que se ha asignado la clave principal, las claves candidatos restantes están etiquetados claves alternativas.

Claves externas

Una relación entre dos tablas se crea mediante la creación de un campo común a las dos tablas. El campo común debe ser una clave principal a la tabla (la tabla que sería el componente de la uno-a-muchos). Considere la posibilidad de una relación entre una tabla poeta y una mesa antología poética. La relación es de poca utilidad si en lugar de utilizar la clave principal de la tabla poeta, código, tocreate la relación con la tabla de antología, se utiliza otro campo que no es única, como el apellido del poeta. Nosotros nunca saber a ciencia cierta lo que el poeta nos estamos refiriendo a la antología de la poesía. El campo poet_code se denomina clave externa en la tabla antología, que significa que es la clave principal (clave) del cuadro poeta.

Page 5: Introduction to Relational Databases Español

Antología

Anthology_code• Poet_code

Poeta

Código Nombre Apellidos edad

Foreign

Las claves externas nos permiten asegurar lo que se llama la integridad referencial. Esto significa que si una clave externa contiene un valor, el valor debe referirse a un registro existente en la tabla relacionada. Por ejemplo, echar un vistazo a estas dos tablas:

Poet

Code

First Name Surname

1 Mongane Afrika2 Stephen Serote3 Tatumkhulu WatsonPoem

Title PoetWakening Night 1Thrones of Darkness 2Once 3

La integridad referencial existe aquí, ya que existen todos los poetas que figuran en la tabla poema en el cuadro poeta. Stephen Serote ahora se retira de la antología, y lo elimina de la tabla de poeta. En una situación en la que no se exige la integridad referencial, que no aparecería en el cuadro poeta, pero el código que solía tener se seguirá apareciendo en la tabla poema. Por lo tanto, cuando miramos el poeta que escribió Tronos de la oscuridad (que es poeta código 2) se nos envía a un registro inexistente.

Poet

Code

First Name Surname

1 Mongane Afrika3 Tatumkhulu Watson

Page 6: Introduction to Relational Databases Español

Poem

Title PoetWakening Night 1Thrones of Darkness 2Once 3

Los resultados de borrado en la integridad de los datos pobres.

Las claves externas también permiten que las llamadas en cascada eliminaciones y actualizaciones. Esto significa que podemos eliminar Stephen Serote de la tabla de poeta, y todos los poemas escritos por él, con una sentencia SQL. Las "cascadas" Eliminar a través de los cuadros correspondientes, la eliminación de todos los registros pertinentes. Las claves externas pueden contener valores nulos si la relación es opcional, lo que indica que no existe ninguna relación. Si la relación es obligatoria, la clave externa no puede contener valores nulos.

Vistas

Las vistas son tablas virtuales. No contienen ningún dato mismo - y no son una estructura que nos permita acceder a los datos, o un subconjunto de los datos. Una vista puede consistir en un subconjunto de una tabla, tal como en este ejemplo:

Poeta

• Código• Nombre• Apellidos• edad• Dirección• Teléfono

Esta es la lista completa de los campos de la tabla de poeta

Suscriptor vista

• Código• FIRST_NAME• Apellidos• Grado

Este punto de vista se podría utilizar para que otros puedan ver el poeta código, nombre y apellidos, pero no permite el acceso a la información personal. O, un punto de vista podría ser una combinación de un número de tablas, tales como en este ejemplo:

Poeta

Page 7: Introduction to Relational Databases Español

• Código• Nombre• Apellidos• edad• Dirección• Teléfono

Poema

• Código Poem• Código Poeta• Título

Suscriptor vista

• FIRST_NAME• Apellidos• Título del poema

Las vistas se utilizan con frecuencia para fines de seguridad. Desarrolladores junior pueden necesitar acceso a determinadas partes de una tabla, pero no necesitan tener acceso a todos los datos. Lo que no se necesitan, incluso si se trata de la misma tabla, se oculta ya salvo de la manipulación o de visión. Asimismo, vistas permiten consultas SQL a ser mucho más simple. Por ejemplo, sin vistas, un desarrollador puede tener que utilizar la siguiente consulta:

SELECT 'nombre, apellidos, poemaDE poeta, poemaDONDE poem.poet_code = poet.code Y poet.title = 'Una vez';

Con la vista, un desarrollador podría hacer lo mismo con:SELECT 'nombre, apellidos, poemaDE subscriber_view;

Mucho más sencillo para un desarrollador junior que aún no ha aprendido a hacer combinaciones de varias tablas y menos complicaciones para un desarrollador senior también!