Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas.



Documentos relacionados
1.4 Creación del esquema de una Base de Datos

Unidad 1 Lenguaje de Definición de Datos (DDL)

Restricciones de Integridad

Base de Datos Práctica 1.

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

EL ENTORNO DE TRABAJO SQL ORACLE

Lenguaje para descripción de datos

Restricciones (constraints) FOREIGN KEY

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Formato para prácticas de laboratorio

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Bases de Datos Modelo Relacional

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

Base de datos relacional

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Curso de PHP con MySQL Gratis

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

Cuando el pedido se entrega al cliente, se genera la factura correspondiente.

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Tema 3 Modelo relacional

DOMINIO CON IP DINÁMICA

Bases de Datos. Sistemas de Gestión de Bases de Datos

Backup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada.

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

- Bases de Datos - - Diseño Físico - Luis D. García

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

Bases de datos relacionales y el modelo entidad-relación

Manual de NetBeans y XAMPP

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Select table data Insert table data Update table data Delete table data Create table

Tutorial Sencillo Yii Framework

El proceso de Instalación de Microsoft SQL Server 2008

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Paso del E-R a tablas

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

U.E JUAN DE VELASCO CREAR DATOS EN SQL

Curso de MySQL y Java

LiLa Portal Guía para profesores

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

INSTRUCTIVO DE INSTALACION ATOM 2.0.1

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

Oracle Básico PL/SQL

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

Instructivo para la sincronización de servidores Intellect

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server Barrios

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

TRABAJO GRUPAL TEMA: COMO CREAR BASE DE DATOS EN SQL

Acceso a bases de datos MySQL con PHP

Crear la base de datos antes de la instalación de Wordpress.

TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

MACROS. Automatizar tareas a través del uso de las macros.

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

Guía de Registro de Proveedores

Soporte y mantenimiento de base de datos y aplicativos

Tutorial de instalación

Relaciones entre Tablas en una Base de Datos Access

Admincontrol Descarga e instalación

EJERCICIO SOBRE EMPRESA DE MATERIALES DE CONSTRUCCIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2.

Consultas con combinaciones

6- Combinación de tablas

ADMINISTRACION DE BASES DE DATOS CUN 2014

Manual para la utilización de PrestaShop

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

MF0952_2: Publicación de páginas web

1. DML. Las subconsultas

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears

Servidor Local (MYSQL)

BROWSERSQL VERSIÓN 3.1 TUTORIAL

Formas de llevar a cabo un backup de una base de datos MySQL

Capítulo 3. Fases de descubrimiento en bases de datos

Guía Práctica para el Uso del Servicio de Software Zoho CRM

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Sub consultas avanzadas

MANUAL DEL USUARIO PRINCIPAL

Registro Único de Proveedores del Estado (RUPE) Guía para Gestores

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Guía de uso del sistema CV-Online

Trabajos de Ampliación. Bases de datos NoSQL.

Bases de Datos: Structured Query Language (SQL)

Guía de Laboratorio Base de Datos I.

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Instalación de Casandra Para instalar cassandra se recomienda tener la última versión de JAVA instalada.

1

ADMINISTRACIÓN DE BASE DE DATOS

Acronis License Server. Guía del usuario

Tema 6. Restricciones a la Base de Datos: Integridad y seguridad

Tema: MAPEO OBJETO RELACIONAL (ORM) - ADODB

Introducción a la programación orientada a objetos

Manual Usuario cpanel

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

Manual del panel. Core-Admin

GUIA DE LABORATORIO Nro. 4

Transcripción:

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas. 2.2.1 Integridad. 2.2.2 Integridad referencial declarativa. 2.3 Creación de índices ISC Ing. Felipe Alanís González -ITD- 1 2.1 Creación de una Base de Datos Las instrucciones que conoceremos forman parte del Núcleo de SQL estándar (en realidad son instrucciones DDL pero es una error histórico decir que pertenecen a SQL). Puede verificar que cumplan con el núcleo en la siguiente liga: http://developer.mimer.se/validator/parser200x/index.tml La sintáxis que en estos apuntes se indique en cursiva es válida para, al menos, MySQL. ISC Ing. Felipe Alanís González -ITD- 2

2.1 Creación de una Base de Datos Instale MySQL 5.0 o superior y las GUI Tools (puede descargarlas de www.mysql.com o de ac.itdurango.edu.mx/~falanis. Si lo instala en un equipo compartido, no establezca contraseña para el administrador (root), unicamente asegúrese de que en el futuro haga respaldos de las bases de datos que estime conveniente para que no pierda su trabajo. ISC Ing. Felipe Alanís González -ITD- 3 2.1 Creación de una Base de Datos Para crear las tablas de su esquema utilice indistintamente la interfase Línea de Comandos o las GUI Tools. Al momento de crear el esquema puede usar cualquiera de ellos pero es muy importante que aprenda a utilizar ambos. Puede usar las instrucciones de las diapositivas siguientes desde ambas interfases, pero adicionalmente, las GUI Tools, cuentan con una interfase mas amigable. ISC Ing. Felipe Alanís González -ITD- 4

2.1 Creación de una Base de Datos Es muy importante que en esta etapa, la Unidad II de este curso, no añada tuplas a las tablas que aquí creará, recuerde que estamos en la etapa de planeación de la Base de Datos. ISC Ing. Felipe Alanís González -ITD- 5 2.1 Creación de una Base de Datos create database Itd use Itd Itd es el nombre, supuesto, que tendrá la Base de Datos que vamos a crear, los DBMS s (o servidores de Bases de Datos) generalmente pueden administrar mas de una Base de Datos (aunque create database no es un estándar). Hace que la Base de Datos Itd sea el esquema por omisión (es decir, todas las instrucciones que escribamos a partir de aquí, se referirán a la Base de Datos Itd. ISC Ing. Felipe Alanís González -ITD- 6

Integridad El establecimiento de llaves unique (también llamadas candidatas) para cada tabla, consigue lo que se conoce como Integridad de Entidad (contribuye a impedir duplicidad por errores de los usuarios, por ejemplo, evitar que una persona quede registrada dos o mas veces en una misma tabla de la Base de Datos). Mientras mas llaves unique posea una tabla, mayor certeza de integridad se logrará. ISC Ing. Felipe Alanís González -ITD- 7 create table Proveedores (IdProveedor int auto_increment primary key, Rfc char(13) unique, RazonSocial char(50) unique, Calle char(15), Orientacion char(10), NumeroExt numeric(8), NumeroInt char(6), Colonia char(15), Ciudad char(30), Estado char(25), CodigoPostal char(5), DiasCredito numeric(3)) ISC Ing. Felipe Alanís González -ITD- 8

El Núcleo del SQL estándar, considera una restricción de verificación (check constraint) para simular dominios y contribuir igualmente a la Integridad de Entidad. create table Proveedores ( IdProveedor..,....... Orientacion char(10), check (Orientacion in ('Norte','Sur','Oriente','Poniente')) ) ISC Ing. Felipe Alanís González -ITD- 9 Si ya existe la tabla y se desea añadir una restricción de dominio, escriba la siguiente instrucción: alter table Alumnos add constraint ValidOrientacion check (Orientacion in ('Norte', 'Sur', 'Oriente', 'Poniente')) ISC Ing. Felipe Alanís González -ITD- 10

MySQL 5 aunque soporta la restricción check, no la ejecuta, es decir, no realiza la verificación como se espera al momento de añadir o modificar tuplas. Para resolver este problema, estableceremos Integridad Referencial hacia una tabla que contenga los valores válidos para ese atributo. ISC Ing. Felipe Alanís González -ITD- 11 La definición de una llave primaria para cada tabla, es indispensable para establecer la integridad referencial. Como sabemos la integridad referencial es importantísima para evitar que haya información incompleta en la Base de Datos. ISC Ing. Felipe Alanís González -ITD- 12

Tabla Alumnos IdAlumno Control Nombre FechaNac Sexo 1 48040001 Rico Mc Pato 15/11/1900 Masculino 2 76040155 Minnie Mouse 02/06/1928 Femenino 3 76040161 Mickey Mouse 01/04/1928 Masculino Tabla PagosAlumnos IdPagosAlum IdAlumno Concepto Fecha Importe 1 1 Inscripción 02/08/1948 1.25 2 1 Inscripción 10/08/1949 1.25 3 1 Constancia 05/12/1949 0.10 4 1 Inscripción 11/08/1950 1.25 5 2 Inscripción 15/08/1976 50.00 6 2 Inscripción 05/08/1977 100.00 7 3 Inscripción 15/08/1976 50.00 8 3 Inscripción 15/08/1976 50.00 9 3 Inscripción 03/08/1977 100.00 10 3 Constancia 22/10/1977 2.00 En la tabla PagosAlumnos IdAlumno, es Llave Foránea create table PagosAlumnos( IdPagoAlumno int auto_increment primary key, IdAlumno int references Alumnos on delete restrict on update restrict, concepto char(15), fecha date, importe numeric(10,2), check........ Todas las tablas deben tener llaves unique cuál será, al menos una, llave unique de la tabla PagosAlumnos? La sintáxis estándar indicada en las diapositivas anteriores es soportada por MySQL 5.0 pero no implementada. En las diapositivas siguientes se muestra como hacerlo con MySQL 5: ISC Ing. Felipe Alanís González -ITD- 14

(como reemplazo para Check) Tabla Alumnos IdAlumno Control Nombre FechaNac Sexo 1 48040001 Rico Mc Pato 15/11/1900 Masculino 2 76040155 Minnie Mouse 02/06/1928 Femenino 3 76040161 Mickey Mouse 01/04/1928 Masculino Tabla DominioSexo Sexo Femenino Masculino create table Alumnos( IdAlumno int auto_increment primary key, sexo char(10),,, foreign key (sexo) references DominioSexo(sexo) on delete restrict on update cascade,. ) ISC Ing. Felipe Alanís González -ITD- 15 Tabla Alumnos create table PagosAlumnos( IdPagoAlumno int auto_increment primary key, IdAlumno int, Concepto char(15), fecha date,, foreign key (IdAlumno) references Alumnos(IdAlulmno) on delete restrict on update restrict,. ISC IdAlumno Control Nombre FechaNac Sexo 1 48040001 Rico Mc Pato 15/11/1900 Masculino 2 76040155 Minnie Mouse 02/06/1928 Femenino 3 76040161 Mickey Mouse 01/04/1928 Masculino Tabla PagosAlumnos IdPagosAlum IdAlumno Concepto Fecha Importe 1 1 Inscripción 02/08/1948 1.25 2 1 Inscripción 10/08/1949 1.25 3 1 Constancia 05/12/1949 0.10 4 1 Inscripción 11/08/1950 1.25 5 2 Inscripción 15/08/1976 50.00 6 2 Inscripción 05/08/1977 100.00 7 3 Inscripción 15/08/1976 50.00 8 3 Inscripción 15/08/1976 50.00 9 3 Inscripción 03/08/1977 100.00 10 3 Constancia 22/10/1977 2.00 Ing. Felipe Alanís González -ITD- Compare con el caso de la página anterior, las diferencias en on delete yon update 16

2.3 Creación de Indices Cuando establecemos llaves primarias y unique, se crean tablas de índices para poder hacer las verificaciones correspondientes, sin embargo, adicionalmente se pueden crear otras tablas de índices para que ciertas consultas tomen menos tiempo de ejecución. create table PagosAlumnos (IdPagoAlumno int(10) auto_increment primary key, IdAlumno int, Concepto char(15), Fecha date, importe numeric(10,2), foreign key (IdAlumno) references Alumnos(IdAlulmno), on delete restrict on update restrict, index (Concepto), index(fecha) ) ISC Ing. Felipe Alanís González -ITD- 17