Diseo de base de datos Tema 4 LDD

Diseño de base de datos Tema 4 : LDD

1. Introducción Este lenguaje se divide en dos partes. Lenguaje de manipulación de datos (LDD) y lenguaje de manipulación de datos (LMD). 2 T 4: LDD 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.

1. Introducción Este lenguaje se divide en dos partes. Lenguaje de manipulación de datos (LDD) y lenguaje de manipulación de datos (LMD). T 4: LDD 3

1. Introducción SERVIDOR BASE DE DATOS Esquema de tablas T 4: LDD SERVIDOR 4

2. LDD El LDD, es el Lenguaje de Definición de Datos. Este lenguaje nos servirá para crear, alterar y eliminar objetos dentro de SQL. Base de datos agenda 5 T 4: LDD Cuando hablamos de objetos nos referimos a la estructura donde se almacenaran los datos (conocido como esquema), no a los datos en si.

2. LDD CREATE: sentencia crea un objeto dentro del servidor My. SQL. Puede ser una base de datos, tabla, vista, índice, disparador, funciones, procedimientos y evento. objeto Definición T 4: LDD CREATE [OBJETO] DEFINICIÓN; 6

2. LDD CREATE DATABASE: sentencia crea una base de datos dentro del servidor My. SQL. DATABAS nombre CREATE E 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; 7 T 4: LDD CREATE DATABASE miprimerabd;

2. LDD CREATE TABLE: sentencia crea una tabla dentro de una base de datos seleccionada (USE). CREATE TABLE miprimeratb (id char(2) T 4: LDD CREATE TABLE primary key); Definición 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. 8

2. LDD CREATE TABLE: Definición Nombre ( columna Tipo y tamaño Propiedad de columnas T 4: LDD , Propiedades de tabla ) , CREATE TABLE mitb 2 (id char(2) NOT NULL, dato varchar(30), primary key(id)); 9

2. LDD CREATE TABLE: Deberá de ser un nombre completo, sin Nombre caracteres especiales, ni espacios en columna blanco. Pueden ser VARCHAR(tamaño), INT, NUMERIC, FLOAT, BOOLEAN…entre otros. NULL, AUTO_INCREMENT, Propiedad de NOT UNIQUE, PRIMARY KEY…entre otros. columnas También conocido como constraint Propiedades de tabla PRIMARY KEY, UNIQUE, FOREIGN KEY. También conocido como constraint 10 T 4: LDD Tipo y tamaño

2. LDD CREATE TABLE: Propiedades de las tablas: PRIMARY KEY Se usa obligatoriamente cuando la tabla tiene mas de una llave primaria, y opcionalmente cuando solo tiene una. T 4: LDD 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. 11

2. LDD CREATE TABLE: Propiedades de las tablas: FOREIGN KEY foreign key ( ( Nom. Columnas , references ) T 4: LDD Tabla referenciar on Nom. Columnas , ) set null delete cascada update restrict no action 12

2. LDD CREATE TABLE: T 4: LDD create table departamento (depto char(5), nombre varchar(25) NOT NULL, primary key(depto)); 13

2. LDD CREATE TABLE: T 4: LDD 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); 14

2. LDD 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. objeto modificación T 4: LDD ALTER [OBJETO] MODIFICACIÓN; 15

2. LDD ALTER TABLE: sentencia modifica la estructura de las tablas. Existen 3 acciones de modificación agregar (ADD), borrar (DROP) y cambiar (CHANGE). acción TABLE nombre T 4: LDD ALTER modificación ALTER TABLE mitb 2 [acción] modificación; 16

2. LDD ALTER TABLE: acción change T 4: LDD add COLUMNAS CONSTRAINT drop 17

2. LDD ALTER TABLE: ALTER TABLE change drop column Definición de la columna T 4: LDD add nombre Nombre actual de la column Nombre de la columna 18

2. LDD ALTER TABLE: alter table persona change nombre nomb 2 varchar(100) not null; alter table apellido; departamento drop column 19 T 4: LDD alter table departamento add column apellido varchar(10) not null;

2. LDD DROP: sentencia elimina los elementos de la base de datos. Puede eliminar tabla, vista, indice, funciones, procedimientos, entre otros. DROP objeto T 4: LDD DROP TABLE persona; 20

3. Tipos de datos 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 My. SQL (algunos coinciden con otros SGBD) están los siguientes: DESCRIPCIÓN BINARY Cadenas de binarios entre 0 a 255 BLOB Archivos binarios de 0 a 65, 535 bytes LONGBLOB hasta 4, 294, 967, 295 MEDIUMBLOB hasta 16, 777, 215 TINYBLOB HASTA 255 VARBINARY 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 00 h 00 m 00 s a 9999 12 31 23 h 59 m 59 s TIME hh: mm: ss T 4: LDD TIPO 21

3. Tipos de datos DESCRIPCIÓN TIMESTAMP 1001 01 01 0 h 0 m 0 s a 9999 12 31 23 h 59 m 59 s 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 y es almacenado como una cadena. DOUBLE -1. 7976931348623157 E+308 a 2. 2250738585072014 E-308. Unsigned 0 y desde 2. 2250738585072014 E-308 a 1. 7976931348623157 E+308 FLOAT -3. 402823466 E+38 a -1. 175494351 E-38. Usigned 0 y desde 1. 175494351 E-38 a 3. 402823466 E+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 22 T 4: LDD TIPO

3. Tipos de datos 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 T 4: LDD TIPO 23

3. Tipos de datos TIPO DESCRIPCIÓN SET Selección múltiple con 0 a 64 posibilidades BOOL 0 a 1 T 4: LDD 24

4. Propiedades Columnas Propiedad PRIMARY KEY NN NOT NULL UQ UNIQUE BIN UN BINARY UNSIGNED ZF ZEROFILL AI AUTO_INCREMENT Descripción Con esta propiedad se asigna como llave primaria a una columna (atributo) de la tabla. La columna no podrá contener valores nulos. La columna es un valor único (pero no es la llave primaria). Valor sin signo (solo para tipos numéricos). Fuerza a 0 los valores por defecto. La columna ira incrementando automáticamente por cada fila. T 4: LDD Siglas PK 25
- Slides: 25