viernes, 30 de septiembre de 2011

Investigación Creación de Base de Datos y Tablas

Creación de Bases de Datos y Tablas
Existen dos lenguajes para el manejo de bases de datos:
  • DDL (Lenguaje de definición de datos). Es el lenguaje que se usa para crear bases de datos y tablas, y para modificar sus estructuras, así como los permisos y privilegios.Este lenguaje trabaja sobre unas tablas especiales llamadas diccionario de datos.

  • DML (Data Manipilation Language) lenguaje de manipulación de datos. Es el que se usa para modificar y obtener datos desde las bases de datos.

Una base de datos en un sistema relacional está compuesta por un conjunto de tablas, que corresponden a las relaciones del modelo relacional.
La creación de la base de datos consiste en la creación de las tablas que componen la BD. Para realizar la creación de las tablas hay que crear la base de datos, esto significa definir un espacio de nombres separado para cada conjunto de tablas.
Para crear una base de datos se usa una sentencia CREATE DATABASE:
mysql> CREATE DATABASE prueba;
 Query OK, 1 row affected (0.03 sec)
mysql>

Podemos saber cuántas bases de datos existen en nuestro sistema usando la sentencia SHOW DATABASES:
mysql> SHOW DATABASES;

Creación de Tablas
La sentencia para la creación de tablas relacionales es CREATE TABLE. Se debe definir:
  1.  Los atributos que componen la tabla
  2.  La clave primaria
  3.  Las posibles claves ajenas
  4. Las restricciones a imponer sobre los valores de los atributos.


CREATE TABLE nombre_tabla(
Definición de atributo 1,

Definición de atributo a,
Definición de clave primaria,
Definición de clave foránea 1,

Definición de clave foránea f,
Definición de restricción 1,
Definición de restricción r);

Una tabla recién creada no tiene contenido y por lo tanto su cardinalidad es cero. Aunque esté vacía ocupa algún espacio en el espacio de tablas en el que se crea.
Las definiciones de las tablas que componen una base de datos se almacenan en un lugar especial denominado "diccionario de datos" donde son accedidas por el SGBD cuando es necesario.

Definición de atributos
El tipo de datos del atributo especifica sus posibles valores válidos. Los tipos de datos más habituales son:
  • NUMBER (número entero)
  •  DATE (fecha)
  •  CHAR (cadena de caracteres de longitud fija)
  •  VARCHAR2 (cadena de caracteres de longitud máxima fija y longitud real variable).


Posibles restricciones para un atributo
  • PRIMARY KEY: El atributo es clave primaria. Por tanto no acepta valores repetidos ni nulos.
  • UNIQUE: El atributo no acepta valores repetidos, pero sí nulos.
  • NOT NULL: El atributo no acepta valores nulos, pero sí únicos.
  • CHECK: Restricción arbitraria.


Es frecuente combinar las restricciones UNIQUE y NOT NULL, por lo cual el atributo no aceptaría valores repetidos ni nulos, siendo considerado una clave alternativa o secundaria del modelo relacional.
Definición de la clave primaria
La clave primaria se compone de un solo atributo entonces  se añade PRIMARY KEY al final de la definición del atributo primo.
 Para definir una clave primaria en general se acompaña además de una lista de los atributos primos, separados por comas.
PRIMARY KEY (atributo,…., atributo)

Definición de claves ajenas
Una clave ajena, externa o foránea se define similarmente a la clave primaria, indicando FOREIGN KEY seguida de la lista de atributos, separados por comas, que componen la clave ajena, seguida a continuación de la palabra REFERENCES tras la cual se indica el nombre de la table referenciada (la tabla de la cual los atributos anteriores son clave primaria).
FOREIGN KEY (atributo,…., atributo) REFERENCES  nombre_tabla

Lógicamente para que la definición sea correcta los atributos que la componen deben estar ya definidos y la tabla referenciada debe existir con anterioridad.

Por tanto la existencia de claves ajenas restringe el orden de creación de las tablas que componen la base de datos, pues si una tabla B incluye una clave ajena de la tabla A, ésta debe crearse primero.

No hay comentarios:

Publicar un comentario