El SQL es el lenguaje “estándar” para las bases de datos. El termino esta entre comillas porque...
-
Upload
julio-cuenca-segura -
Category
Documents
-
view
217 -
download
0
Transcript of El SQL es el lenguaje “estándar” para las bases de datos. El termino esta entre comillas porque...
Diseño de base de datos
Tema 4 : LDD
1. IntroducciónT
4: L
DD
2
El SQL es el lenguaje “estándar” para las bases de datos. El termino esta entre comillas porque entre cada sistema gestor de base de datos (SGBD) pueden haber diferencias con respecto a algunas sentencias o algunas sintaxis.
Este lenguaje se divide en dos partes. Lenguaje de manipulación de datos (LDD) y lenguaje de manipulación de datos (LMD).
1. IntroducciónT
4: L
DD
3
Este lenguaje se divide en dos partes. Lenguaje de manipulación de datos (LDD) y lenguaje de manipulación de datos (LMD).
1. IntroducciónT
4: L
DD
4
SERVIDOR
SERVIDOR
BASE DE DATOS
Esquema de tablas
2. LDDT
4: L
DD
5
El LDD, es el Lenguaje de Definición de Datos. Este lenguaje nos servirá para crear, alterar y eliminar objetos dentro de SQL.
Cuando hablamos de objetos nos referimos a la estructura donde se almacenaran los datos (conocido como esquema), no a los datos en si.
Base de datos agenda
2. LDDT
4: L
DD
6
CREATE: sentencia crea un objeto dentro del servidor MySQL. Puede ser una base de datos, tabla, vista, índice, disparador, funciones, procedimientos y evento.
CREATE objeto Definición
CREATE [OBJETO] DEFINICIÓN;
2. LDDT
4: L
DD
7
CREATE DATABASE: sentencia crea una base de datos dentro del servidor MySQL.
CREATE DATABASE
CREATE DATABASE miprimerabd;
nombre
El nombre no puede contener carácter de espacio en blanco o caracteres especiales (%, $, &, @, entre otros).Una vez creada una base de datos, se procede a crear las tablas, antes de esto se debe de seleccionar la base de datos. Esto se realiza con la orden USE nombre;.
USE miprimerabd;
2. LDDT
4: L
DD
8
CREATE TABLE: sentencia crea una tabla dentro de una base de datos seleccionada (USE).
CREATE TABLE
CREATE TABLE miprimeratb (id char(2) primary key);
nombre
El nombre no puede contener carácter de espacio en blanco o caracteres especiales (%, $, &, @, entre otros). Luego del nombre se ubica la definición entre paréntesis.
Definición
2. LDDT
4: L
DD
9
CREATE TABLE:
DefiniciónNombrecolumna
Tipo y tamaño
Propiedad de columnas
,
(
)Propiedades de tabla
,
CREATE TABLE mitb2 (id char(2) NOT NULL, dato varchar(30), primary key(id));
2. LDDT
4: L
DD
1 0
CREATE TABLE:Nombrecolumna
Deberá de ser un nombre completo, sin caracteres especiales, ni espacios en blanco.
Tipo y tamaño
Pueden ser VARCHAR(tamaño), CHAR(tamaño), INT, NUMERIC, FLOAT, BOOLEAN…entre otros.
Propiedad de columnas
NOT NULL, AUTO_INCREMENT, UNIQUE, PRIMARY KEY…entre otros. También conocido como constraint
Propiedades de tabla
PRIMARY KEY, UNIQUE, FOREIGN KEY. También conocido como constraint
2. LDDT
4: L
DD
11
CREATE TABLE:Propiedades de las tablas: PRIMARY KEYSe usa obligatoriamente cuando la tabla tiene mas de una llave primaria, y opcionalmente cuando solo tiene una.
Esta propiedad entra en conflicto con la propiedad PRIMARY KEY de las columnas, por lo que solo puede aparecer una de ellas según el caso.
2. LDDT
4: L
DD
1 2
CREATE TABLE:Propiedades de las tablas: FOREIGN KEY
foreign key (
Nom. Columnas
,
) references
Tabla referenciar ( )
Nom. Columnas
,
on delete
update
set null
cascada
restrict
no action
2. LDDT
4: L
DD
1 3
CREATE TABLE:
create table departamento (depto char(5),nombre varchar(25) NOT NULL, primary key(depto));
2. LDDT
4: L
DD
1 4
CREATE TABLE:
create table persona (cedula char(17) PRIMARY KEY,nombre varchar(25) NOT NULL, depto char(5), constraint pk_p_d foreign key(depto) references departamento(depto) on delete cascade on update cascade);
2. LDDT
4: L
DD
1 5
ALTER: sentencia modifica la estructura de los objetos de la base de datos. Puede ser agregar/quitar columnas de tabla, modificar tipo de campo, agregar/quitar constraint.
ALTER modificaciónobjeto
ALTER [OBJETO] MODIFICACIÓN;
2. LDDT
4: L
DD
1 6
ALTER TABLE: sentencia modifica la estructura de las tablas. Existen 3 acciones de modificación agregar (ADD), borrar (DROP) y cambiar (CHANGE).
ALTER
acción
TABLE
ALTER TABLE mitb2 [acción] modificación;
modificación
nombre
2. LDDT
4: L
DD
1 7
ALTER TABLE:
acción
add
drop
COLUMNAS
CONSTRAINT
change
2. LDDT
4: L
DD
1 8
ALTER TABLE:
ALTER TABLE nombre
addDefinición de
la columna
change Nombre actual de la columna
drop Nombre de la columna
column
column
2. LDDT
4: L
DD
1 9
ALTER TABLE:
alter table persona change nombre nomb2 varchar(100) not null;
alter table departamento add column apellido varchar(10) not null;
alter table departamento drop column apellido;
2. LDDT
4: L
DD
2 0
DROP: sentencia elimina los elementos de la base de datos. Puede eliminar tabla, vista, indice, funciones, procedimientos, entre otros.
DROP objeto
DROP TABLE persona;
3. Tipos de datosT
4: L
DD
2 1
Los tipos de datos corresponde a la restricción que se otorgue a una columna, esta restricción esta dada por un tipo de valor que soporta y un tamaño. Entre los tipos permitidos por MySQL (algunos coinciden con otros SGBD) están los siguientes:
TIPO DESCRIPCIÓN
BINARY Cadenas de binarios entre 0 a 255
BLOB Archivos binarios de 0 a 65,535 bytes
LONGBLOB BLOB hasta 4,294,967,295
MEDIUMBLOB BLOB hasta 16,777,215
TINYBLOB BLOB HASTA 255
VARBINARY BINARY variante entre 0 a 255
DATE YYYY MM DD de 0000 00 00 a 9999 12 31
DATETIME YYYY MM DD hh mm ss de 1001 01 01 00h 00m 00s a 9999 12 31 23h 59m 59s
TIME hh:mm:ss
3. Tipos de datosT
4: L
DD
2 2
TIPO DESCRIPCIÓN
TIMESTAMP 1001 01 01 0h 0m 0s a 9999 12 31 23h 59m 59s
YEAR YYYY 1901 a 2155
BIGINT -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. Unsigned, desde 0 a 18,446,744,073,709,551,615
DECIMAL Número en coma flotante desempaquetado yes almacenado como una cadena.
DOUBLE -1.7976931348623157E+308 a -2.2250738585072014E-308. Unsigned 0 y desde 2.2250738585072014E-308 a1.7976931348623157E+308
FLOAT -3.402823466E+38 a -1.175494351E-38. Usigned 0 y desde1.175494351E-38 a 3.402823466E+38
INT -2,147,463,846 a 2,147,483,647. Si configuramos este dato como unsigned, el rango es 0 a 42,94,967,295
3. Tipos de datosT
4: L
DD
2 3
TIPO DESCRIPCIÓN
MEDIUMINT -8,388,608 a 8,388,607. Si se configura como unsigned, 0 a 16,777,215
SMALLINT -32,768 a 32,767. Si se configura como unsigned, 0 a 65535.
TINYINT -128 a 127 y si tiene la propiedad unsigned su rango seria 0 a 255
CHAR Caracteres de texto de 0 a 255
VARCHAR Caracteres de texto variante 0 a 255
LONGTEXT Caracteres de texto hasta 4,294,967,295
MEDIUMTEXT Caracteres de texto hasta 16,777,215
TEXT Caracteres de texto de 0 a 65,535
TINYTEXT Caracteres de texto de 0 a 255
BIT Binario de 0 a 1
ENUM Selección individual con 0 a 65,535 posible selección
3. Tipos de datosT
4: L
DD
2 4
TIPO DESCRIPCIÓN
SET Selección múltiple con 0 a 64 posibilidades
BOOL 0 a 1
4. Prop iedades ColumnasT
4: L
DD
2 5
Siglas Propiedad DescripciónPK PRIMARY KEY Con esta propiedad se
asigna como llave primaria a una columna (atributo) de la tabla.
NN NOT NULL La columna no podrá contener valores nulos.
UQ UNIQUE La columna es un valor único (pero no es la llave primaria).
BIN BINARY UN UNSIGNED Valor sin signo (solo para
tipos numéricos).
ZF ZEROFILL Fuerza a 0 los valores por defecto.
AI AUTO_INCREMENT La columna ira incrementando automáticamente por cada fila.