Creación de BD, tablas, atributos, indices e interrelaciones
Cuadrado A - Fuentes M - Cordoba F.

Contenido
- Presentación (done)
- Introduccion
- Crear bases de datos, tablas, atributos, indices e interrelaciones en MySQL
- Ejemplo:
- Modelo
- Prueba
- Referencias
Introducción
- Existen dos lenguajes para el manejo de base de datos:
- DDL (Data Definition Language): Lenguaje que se usa para crear bd, tablas, estructuras, permisos y privilegios. (Trabaja sobre Diccionarios de datos)
- DML (Data Manipulation Language): Se usa para modificar y obtener datos desde las bases de datos
- SQL = DDL+DML
MySQL
- Crear base de datos
- Averiguar cuantas bases de datos existen
- Seleccionar base de datos
CREATE DATABASE <nombre>;SHOW DATABASES;USE <base_de_datos>;Base de datos
- Crear tabla, en su forma mas simple
Tablas
CREATE TABLE <nombre_tabla> (<atributo1> VARCHAR(40), <atributo2> DATE);- Mostrar tablas
SHOW TABLES; nombre_col tipo [NOT NULL | NULL] [DEFAULT valor_por_defecto]
[AUTO_INCREMENT] [[PRIMARY] KEY] [COMMENT 'string']
[definición_referencia]- Sintaxis completa para definir columnas
MySQL
Tablas
DESCRIBE alumno;
- Ver estructura de una tabla
CREATE TABLE ciudad1 (nombre CHAR(20) NOT NULL, poblacion INT NULL);CREATE TABLE ciudad2 (nombre CHAR(20) NOT NULL,
-> poblacion INT NULL DEFAULT 5000);CREATE TABLE ciudad3 (nombre CHAR(20) NOT NULL PRIMARY KEY,
-> poblacion INT NULL DEFAULT 5000);- Columnas autoincrementadas
CREATE TABLE ciudad5 (clave INT AUTO_INCREMENT PRIMARY KEY,
-> nombre CHAR(20) NOT NULL,
-> poblacion INT NULL DEFAULT 5000);- Valores nulos
- Con Valores por defecto
- Con llave primaria
MySQL
Tipos de datos -comunes-
-
Numericos:
- Bit o Bool (0 o 1)
- Integer
- Float
- Double
- Decimal
-
Fecha
- Date
- DateTime
- Time
- Year
-
Cadena
- Char (longitud fija);
- varChar
- Enum
- Text
MySQL
-INSERT INTO <nombre_tabla> VALUES ('Fulano','1974-04-12');
-INSERT INTO <nombre_tabla> (<columnax>,<columnay>) VALUES ('valorcolumnax','valorcolumnay');
-INSERT INTO <nombre_tabla>
-> SET <columnax>='Roma', <columnay>=8000000;Inserción
- Insertar fila
Modificaciones
ALTER TABLE <tabla> add column <nombre_columna> <tipo_dato>(<rango>);ALTER TABLE <NOMBRE DE TABLA> MODIFY <NOMBRE DE COLUMNA> <TIPO DE DATO>;
- Modificar tipo de dato columna
- Modificar una tabla y agregar columna nueva
ALTER TABLE <tabla> add foreign key(<Llave_primaria>)
->references <Tabla_Referencia>(<Atributo_Foraneo>);- Modificar indice de atributo para que sea llave foranea
MySQL
Indices
- Claves primarias:
definición_columnas;
PRIMARY KEY (index_nombre_col,...);- Claves Unicas: son irrepetibles, a excepción de null (Ventaja al momento de hacer busquedas secuenciales)
CREATE TABLE nombre
definición_de_columnas
[CONSTRAINT [símbolo]] FOREIGN KEY [nombre_index] (nombre_col_index,...)
[REFERENCES nombre_tabla [(nombre_col,...)]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT]
[ON UPDATE RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT]]- Claves Foraneas: son irrepetibles, a excepción de null (Ventaja al momento de hacer busquedas secuenciales)
CREATE TABLE <nombretabla>(
-> id INT,
-> nombre CHAR(19),
-> UNIQUE (nombre));MySQL
PROBANDO INTERRELACION
SELECT alumno.A, alumno.Nombre, practica.P, practica.nombre, entrega.Nota
->FROM (alumno INNER JOIN entrega) INNER JOIN practica
->ON alumno.A=entrega.Afk AND practica.P=entrega.Pfk
->;Ejemplo
Dada la base de datos compuesta por las siguientes tablas:
- ALUMNOS ( A#, NOMBRE, GRUPO)
- PRACTICAS (P#, CURSO, FECHA)
- ENTREGA(A#, P#, NOTA)
Crear la base de datos, tablas, atributos, indices e interrelaciones usando el interprete de comandos de MySQL.
Modelo

Referencias
- http://www.desarrolloweb.com/articulos/1054.php
- http://mysql.conclase.net/curso/index.php?cap=007a#007_indices
- http://programacion.net/articulo/integridad_referencial_en_mysql_263/4
- http://www.webtutoriales.com/articulos/claves-foraneas-en-mysql
- https://www.youtube.com/watch?v=ioZHSLiWJBM
¡Obrigado!

Expo base de datos
By Albert Machado
Expo base de datos
Creaciones de base de datos, tablas, atributos, indices e interelaciones
- 822