Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
Creación de una tabla
La sintaxis de creación puede variar ligeramente de una base de datos a otra ya que los tipos de campo aceptados no están completamente estandarizados.
Tipos
Sintaxis de creación de una tabla
La sintaxis para realizar la creación de una tabla, suele ser algo como lo siguiente.
CREATE TABLE nombre_tabla (
nombre_campo_1 tipo_1 propiedades_1,
nombre_campo_2 tipo_2 propiedades_2,
nombre_campo_n tipo_n propiedades_n,
PRIMARY KEY( nombre_campo_x , … )
)
Ejemplo: Crear una tabla de clientes:
CREATE TABLE cliente (
id INTEGER NOT NULL AUTO_INCREMENT,
nombre VARCHAR(50),
apellidos VARCHAR(100),
direccion VARCHAR(500),
email VARCHAR(255),
codigo_postal VARCHAR(50),
poblacion VARCHAR(255),
pedidos INTEGER,
PRIMARY KEY( id )
)
CREATE TABLE articulo (
id INTEGER NOT NULL AUTO_INCREMENT,
titulo VARCHAR(50),
autor VARCHAR(25),
editorial VARCHAR(25),
precio INTEGER,
PRIMARY KEY( id )
)
CREATE TABLE pedido (
id INTEGER NOT NULL AUTO_INCREMENT,
cliente_id INT(4) NOT NULL,
articulo_id INT(4) NOT NULL,
fecha DATE,
cantidad INTEGER,
ped_total INTEGER,
FOREIGN KEY (cliente_id) REFERENCES cliente(cid),
FOREIGN KEY (articulo_id) REFERENCES articulo(id),
PRIMARY KEY(id)
)
Tipos de datos en una tabla
Deberíamos intentar ajustar el tipo de dato almacenado por cada uno de los campos de una tabla a la información que van a contener. A continuación tienes una referencia de tipos de datos habituales y la memoria que ocupan:
MySQL Data Types | |
Data type | Spec |
CHAR | String (0 – 255) |
VARCHAR | String (0 – 255) |
TINYTEXT | String (0 – 255) |
TEXT | String (0 – 65535) |
BLOB | String (0 – 65535) |
MEDIUM TEXT | String (0 – 16777215) |
MEDIUM BLOB | String (0 – 16777215) |
LONGTEXT | String (0 – 4294967295) |
LONGBLOB | String (0 – 4294967295) |
TINYINT | Integer (-128 to 127) |
SMALLINT | Integer (-32768 to 32767) |
MEDIUMINT | Integer (-8388608 to 8388607) |
INT | Integer (-2147483648 to 2147483647) |
BIGINT | Integer (-9223372036854775808 to 9223372036854775807) |
FLOAT | Decimal (precise to 23 digits) |
DOUBLE | Decimal (24 to 53 digits) |
DECIMAL | «DOUBLE» stored as string |
DATE | YYYY-MM-DD |
DATETIME | YYYY-MM-DD HH:MM:SS |
TIMESTAMP | YYYYMMDDHHMMSS |
TIME | HH:MM:SS |
ENUM | One of preset options |
SET | Selection of preset options |
BOOLEAN | TINYINT(1) |
Ejercicio
Crea una base de datos a partir de la información suministrada:
Modelo ER
Modelo relacional
- Ciudadano (id, dni, password, nombre);
- Parking (id, direccion, maxBicis);
- Bicicleta (id, kilometros, DNICiutada, id_parking);
- Dónde{id_ciudadano} referencia a Ciudadano(id)
- Dónde{id_parking} referencia a Parking(id)
Nota: Las claves primarias estás subrayadas y los atributos están marcados en negrita.
Descargar solución