Reciente

6/recent/ticker-posts

Creación de Bases de Datos y Tablas en SQL



Creación de Bases de Datos y Tablas en SQL

En la entrada anterior a esta os mostré como realizar consultas en bases de datos SQL, esta vez miraremos como se crean las Bases de Datos y las tablas que las componen, además de como insertar datos en estas.

Creación de una Base de Datos

Para crear una base de datos utilizaremos la sentencia CREATE DATABASE:

CREATE DATABASE BaseDeDatos;

Para comprobar que la base de datos se ha creado miraremos si esta se encuentra en el listado de bases de datos disponibles con:

SHOW DATABASES;

Si la base de datos ha sido creada correctamente aparecerá en el listado que se mostrará en pantalla, para seleccionar la base de datos para trabajar con ella debemos usar:

USE BaseDeDatos;


Creación de una Tabla dentro de una Base de Datos

Lo primero que debemos de hacer es seleccionar la base de datos para trabajar con ella con USE, en este caso sera BaseDeDatos. Una vez estemos trabajando con esta base de datos para crear una tabla debemos utilizar la sentencia CREATE TABLE, seguida del nombre de la tabla y después, dentro de unos paréntesis debemos establecer el nombre de cada columna y el tipo de datos que almacenará, además de la clave primaria, que se delimitara con PRIMARY KEY despues del nombre de la columna y el tipo de dato que almacenará, la Clave Primaria es un elemento único que identificará cada elemento dentro de la tabla, un ejemplo de una Clave Primaria sería, por ejemplo, el DNI en una tabla que contuviera datos de personas o una ID. Si queremos crear una tabla que contenga datos de personas, con nombre, apellidos y DNI crearíamos la tabla de la siguiente manera:

CREATE TABLE Personal (
DNI VARCHAR(20) PRIMARY KEY
Nombre VARCHAR(45),
Apellido1 VARCHAR(45),
Apellido2 VARCHAR(45));

Dentro de cada columna se puede guardar un tipo diferente de dato, por ejemplo, en esta tabla solo hemos utilizado Cadenas de carácteres, VARCHAR, indicando dentro de los paréntesis la longitud máxima de estos elementos. A continuación os dejo una tabla con los principales tipos de datos que puede haber dentro de cada columna:

Tipos de Datos

Cadena de caracteres VARCHAR(Longitud)
Numero entero INT
Cadena de caracteres de valores fijos ENUM('Valor1', 'Valor2'....'ValorN')
Fecha DATE
Fecha y Hora DATETIME
Año YEAR

Conociendo todos estos datos imaginemonos que queremos una tabla algo más compleja que la anterior, por ejemplo, una tabla de empleados que tenga una columna con la identificación de empleado numerica, otra que indique el puesto del empleado que tenga cadenas de caracteres de valor fijo y otra que indique la fecha de inicio, la crearemos así:

CREATE TABLE empleados (
ID INT PRIMARY KEY
Puesto ENUM('Director','Conserje','Secretario','Portero'),
FechaInicio DATE);

Con esto tendríamos ya 2 tablas creadas dentro de nuestra base de datos, pero estas no estan relacionadas, para relacionarlas en este caso crearemos una tabla intermedia que relacione las 2 que creamos, para hacer eso tenemos que crear una tabla con 2 claves foráneas que apunten a las 2 tablas que creamos, una Clave Foránea es una columna que sirve para señalar cual es la clave primaria de otra tabla, las indicaremos como FOREIGN KEY (ClaveForanea) REFERENCES Tabla(ClavePrimaria), los datos que queramos establecer como clave foránea deben de ser exactamente del mismo tipo que los de la primaria a la que estamos apuntando. La tabla la crearíamos de la siguiente manera:

CREATE TABLE PersonalEmpleados (
DNI VARCHAR(20),
ID INT,
FOREIGN KEY (DNI) REFERENCES Personal(DNI),
FOREIGN KEY (ID) REFERENCES empleados(ID));

Una vez creada esta tabla ya tendríamos una paqueña base de datos lista, el diagrama de la base de datos que hemos creado sería este:

Inserción de datos en tablas SQL

A continuación veremos como insertar datos en las tablas que hemos creado, para empezar, insertaremos un elemento en la tabla Personal, para insertar datos en una tabla utilizaremos INSERT INTO, seguido del nombre de la tabla y los valores de la siguiente manera:

INSERT INTO personal VALUES ('34789087A', 'Perico', 'Nombrez', 'Inventadez');

En esta inserción los valores van todos entre comillas debido a que son de tipo VARCHAR, pero los valores INT no van dentro de comillas.

Ahora haremos una inserción algo diferente, insertaremos los datos de deste personaje en la tabla Empleados, que tiene otros tipos diferentes, realizaremos la inserción de la siguiente manera:

INSERT INTO Empleados VALUES (1, 'Director', '11-11-2011');

En esta inserción hay que tener en cuenta que el valor del segundo campo debe de ser uno de los indicados al crear la tabla ya que es de tipo ENUM, el ID irá sin comillas al ser de tipo INT y la fecha irá entre comillas.

Una vez insertados los datos en estas dos tablas insertaremos el mismo DNI e ID en la tabla PersonalEmpleados para que queden relacionados:

INSERT INTO PersonalEmpleados VALUES ('34789087A', 1);

Y con esto ya tendríamos una base de datos con sus tablas y datos, más adelante veremos como hacer JOINS de tablas dentro de una base de datos para realizar consultas más complejas que las vistas en la pasada entrada

Publicar un comentario

0 Comentarios