El SQL es el lenguaje “estándar” para las bases de datos. El termino esta entre comillas porque...

25
Diseño de base de datos Tema 4 : LDD

Transcript of El SQL es el lenguaje “estándar” para las bases de datos. El termino esta entre comillas porque...

Page 1: 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.

Diseño de base de datos

Tema 4 : LDD

Page 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.

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).

Page 3: 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.

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).

Page 4: 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.

1. IntroducciónT

4: L

DD

4

SERVIDOR

SERVIDOR

BASE DE DATOS

Esquema de tablas

Page 5: 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.

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

Page 6: 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.

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;

Page 7: 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.

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;

Page 8: 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.

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

Page 9: 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.

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));

Page 10: 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.

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

Page 11: 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.

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.

Page 12: 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.

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

Page 13: 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.

2. LDDT

4: L

DD

1 3

CREATE TABLE:

create table departamento (depto char(5),nombre varchar(25) NOT NULL, primary key(depto));

Page 14: 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.

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);

Page 15: 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.

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;

Page 16: 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.

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

Page 17: 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.

2. LDDT

4: L

DD

1 7

ALTER TABLE:

acción

add

drop

COLUMNAS

CONSTRAINT

change

Page 18: 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.

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

Page 19: 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.

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;

Page 20: 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.

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;

Page 21: 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.

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

Page 22: 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.

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

Page 23: 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.

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

Page 24: 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.

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

Page 25: 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.

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.