SICI-4030 Base de Datos - PowerPoint PPT Presentation

sici 4030 base de datos n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SICI-4030 Base de Datos PowerPoint Presentation
Download Presentation
SICI-4030 Base de Datos

play fullscreen
1 / 86
SICI-4030 Base de Datos
136 Views
Download Presentation
arawn
Download Presentation

SICI-4030 Base de Datos

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. SICI-4030Base de Datos Prof. Nelliud D. Torres SQL - Introductorio - DDL

  2. OBJETIVOS COMPOSED PRIMARY KEYS CONTROLLING VALUES ENSURING DATA INTEGRTY CREACIÓN DE SECUENCIAS EDITAJE DE COMANDOS OTROS MANDATOS DE SQL INSERT INTO COMMIT TRUNCATE TABLE DROP TABLE EJERCICIO ALTER TABLE ROLLBACK DESC TABLA SET ECHO ON/OFF SPOOL FILENAME.TXT REM SPOOL • DEFINICIÓN SQL • DATA DEFINITION LANGUAGE (DDL) • DATA MANIPULATION LANGUAGE (DML) • DATA CONTROL LANGUAGE (DCL) • HISTORIA • BENEFICIOS Y PROPÓSITOS DEL SQL • MEDIO AMBIENTE DEL SQL • COMANDO CREATE • SCHEMA • TIPO DE DATOS • CONSTRAINT - PRIMARY AND FOREIGN KEY • PASOS PARA CREAR UNA TABLA • CREANDO TABLAS CON DIFERENTES APLICACIONES • SQL CONSTRAINTS • EJEMPLOS • NOT NULL

  3. DEFINICIÓN SQL Volver a los Objetivos

  4. DEFINICIÓN - SQL • SQL(StructuredQueryLanguage) – Se podría traducir como “lenguaje estructurado para consultas”. • Es el lenguaje más importante para el manejo de base de datos relacionales. • Forma parte del DML (DataManipulationLanguage) y lo desarrolló IBM a principios de los 70. • Es el estándar para el “relational database management systems”(RDBMS) Pag: 289

  5. DEFINICIÓN • Se compone de tres partes: • Data Definition Language(DDL)– Instrucciones que crean una base de datos, tabla o índices entre otras cosas. • Data Manipulation Language(DML) – Instrucciones que añaden, eliminan o modifican instancias (records) y las instrucciones que sirven para realizar consultas (queries) a la base de datos. • Data Control Language(DCL) – Instrucciones relacionadas a la administración de la base de datos (cuentas, privilegios, accesos, tunning, etc.)

  6. Historia del SQL • 1970 – E. Codd develops relational database concept • 1974-1979 – System R with Sequel (later SQL) created at IBM Research Lab • 1979 – Oracle markets first relational DB with SQL • 1986 – ANSI SQL standard released • 1989, 1992, 1999, 2003 – Major ANSI standard updates • Hoy día – SQL se utiliza por todos los vendedores de bases de datos Pag: 291

  7. BENEFICIOS Y PROPÓSITOS DEL SQL Volver a los Objetivos

  8. Beneficios de Utilizar un Lenguaje Relacional Estandarizado • Reduce costos de entrenamiento • Mayor productividad • Portabilidad de la aplicación • Longetividad de la aplicación • Reduce la dependencia de un sólo vendedor • Comunicación que cruza sistemas Pag: 293

  9. Propósito del SQL Standard • Especificar sintaxis y semántica para la definición y manipulación de los datos. • Definir estructuras de datos • Capacitar la portabilidad • Permitir crecimiento y/o mejoras a los estándares

  10. MEDIO AMBIENTE DEL SQL Volver a los Objetivos

  11. Medio ambiente del SQL • Catalog • Un conjunto de schemas que constituye la descripción de la base de datos. • Schema • La estructura que contiene descripciones de objetos creados por un usuario (tablas, views y restricciones (constraints)) • Data Definition Language (DDL) • Comandos que definen una base de datos, incluyendo su creación, alteración y eliminación de tablas y establecer limitaciones (constraints). Pag: 294

  12. Medio ambiente del SQL • Data Manipulation Language (DML) • Comandos que mantienen e interrogan una base de datos (query) • Data Control Language (DCL) • Comandos que controlan la base de datos, incluyendo la administración de privilegios y asegurando (committing) data (eliminando o guardando transacciones) Pag: 294

  13. Figure 7-1 A simplified schematic of a typical SQL environment, as described by the SQL-2003 standard Pag: 294

  14. Figure 7-4 DDL, DML, DCL, and the database development process Pag: 297

  15. COMANDO CREATE Volver a los Objetivos

  16. Creación de una base de datos con SQL • Data Definition Language (DDL) • Instrucciones más importantes con la declaraciónCREATE: • CREATE SCHEMA – Define una porción de la base de datos que le pertenece a un usuario en particular. • CREATE TABLE – Define una tabla con sus columnas. • CREATE VIEW – Define una tabla lógica de uno o másviews • Otras declaraciones deCREATE: CHARACTER SET, COLLATION, TRANSLATION, ASSERTION, DOMAIN

  17. SCHEMA • Antes de poder crear tablas en la base de datos, necesitamos crear esquemas para los usuarios. • Son como cuentas o áreas en donde cada usuario crea y maneja sus tablas independientemente. • A nivel de producción se define un schema que comparten muchos usuarios. • El administrador de la base de datos es el que crea los esquemas y las cuentas.

  18. Enunciado CREATE TABLE • Su formato básico es: CREATE TABLE nombre_tabla ( atributo1 tipoDeDato1, atributo2 tipoDeDato2, atributo3 tipoDeDato3, etc.);

  19. Tipos de datos en SQL Pag: 295

  20. Tipo - NUMBER • Se utiliza para valores numéricos enteros y reales. Su formato es number (o,d) en donde o = cantidad de dígitos enteros y d = cantidad de dígitos decimales. • Valor máximo de o =38. • Ejemplos: • NUMBER(8) - Un entero de ocho dígitos. • NUMBER(5,2) - Número de cinco dígitos, de los cuales dos son decimales. OJO 5,2 no puede almacenar un valor mayor de 999.99. Si se trata de guardar un número mayor, va a generar un error. • Derivados de number: • int[eger] - • dec[imal] - • smallint - • real -

  21. Tipo - CHAR • Se utiliza para especificar una cantidad de caracteres FIJOS. Su formato es CHAR(n) donde n tiene un máximo de 255 (en Oracle 8 es de 2000) • En caso de que el valor sea menor que la cantidad definida, se rellena de espacios en blanco. (consume memoria) • Ejemplos: • CHAR(5) - Un string de cinco caracteres. • CHAR - Es el default y sólo almacenaría un carácter.

  22. Tipo - VARCHAR2 • Se utiliza para especificar una cantidad de caracteres VARIABLES. Su formato es VARCHAR(n) donde n puede tener un valor máximo de 2000 (4000 en Oracle 8). • Si el dato ocupa menos posiciones de las definidas, estas no se rellenan con espacios en blanco y por lo tanto no utiliza memoria. • Ejemplos: • VARCHAR2(5) - Un string de cinco caracteres. • VARCHAR2 - Es el default y su tamaño es de largo variable.

  23. Tipo - DATE • Se utiliza para especificar fecha y hora. Almacena la fecha en formato dd-mmm-yy hh:mm:ss.ss o dd-mmm-yyyy hh:mm:ss.ss. Se requiere que la fecha se especifique entre comillas sencillas. • Ejemplos: • ’08-mar-07’ es válido si se guardo en el atributo con este formato. • ’08-mar-2007’ - También es válido. OJO Si el Oracle se instaló en español, los meses cambian de acuerdo al idioma.

  24. Tipo - LONG • Permite almacenar caracteres hasta 2GB. Solo se permite a cada tabla un máximo de una columna de este tipo.

  25. Tipo - BOOLEAN • Se utiliza para especificar valores cierto o falso. Puede contener TRUE, FALSE o NULL. • Nota: En Oracle-SQL no existe el tipo de dato buleano. Sin embargo se puede representar con char(1) o number(1). • Hay muchos otros tipos de datos tales como LONG, RAW, LONG RAW, etc. Por ahora vamos a trabajar con los que se han explicado hasta el momento.

  26. CONSTRAINT • Sirve para especificar restricciones o condiciones a los atributos. • Nos permite especificar los primary keys (PK). • También permite especificar los foreign keys. • A cada CONSTRAINT se le identifica con un nombre el cual debe ser alusivo a su función o propósito.

  27. CONSTRAINT - PRIMARY KEY • Se puede declarar en forma directa al declarar el atributo o por medio del constraint. • EJEMPLOS: CREATE TABLE tabla1 ( atributo1 number(7) PRIMARY KEY, atributo2 varchar2(5), etc.); CREATE TABLE tabla2 ( atributo1 number(7), atributo2 varchar2(5), CONSTRAINT nombre-const PRIMARY KEY(atributo1) ); Declaración directa, no se define nombre del constraint Declaración indirecta (constraint)

  28. CONSTRAINT - PRIMARY KEY(cont.) • Para definir un Primary Key compuesto (dos atributos o más), se declara el constraint de la siguiente forma: CREATE TABLE tabla2 ( atributo1 number(7), atributo2 varchar2(5), atributo3 number(5), CONSTRAINT nombre-con PRIMARY KEY (atributo1,atributo2) );

  29. CONSTRAINT - FOREIGN KEY • Se puede declarar en forma directa al declarar el atributo o por medio del constraint. • EJEMPLO-1: CREATE TABLE tabla1 ( atributo1 number(7) PRIMARY KEY, atributo2 varchar2(5), etc.); CREATE TABLE tabla2 ( atributo3 number(7), atributo4 varchar2(5), atribut05 number(7) FOREIGN KEY tabla1(atributo1), CONSTRAINT nombre-const PRIMARY KEY(atributo3) );

  30. CONSTRAINT - FOREIGN KEY (Cont.) • Declaración por medio del constraint. • EJEMPLO-2: CREATE TABLE tabla1 ( atributo1 number(7) PRIMARY KEY, atributo2 varchar2(5), etc.); CREATE TABLE tabla2 ( atributo3 number(7), atributo4 varchar2(5), atributo5 number(7), CONSTRAINT keytabla2 PRIMARY KEY(atributo3) CONSTRAINT foreignkeytabla1 FOREIGN KEY atributo5 REFERENCES tabla1(atributo1) );

  31. Pasos en la creación de la tabla: • Identificar los tipos de datos para los atributos • Identificar atributos que no pueden ser nulos • Identificar columnas que deben ser únicas (candidatas a PK) • Identifica primary key–foreign key mates • Determinar los valores default • Identificar limitaciones (constraints) en las columnas (domain specifications) • Crear la tabla e índices asociados Creación de una Tabla Figure 7-5 General syntax for CREATE TABLE Pag: 299

  32. EJECUTANDO COMANDOS DE SQL CON DIFERENTES APLICACIONES • Existen varias formas de ejecutar los comandos en SQL que varían de acuerdo a la herramienta que se utilice. • Algunos ejemplo son: • Oracle 10g use SQL*Plus or SQL*Plus Worksheet • Create queries in SQL view in Microsoft Access • Commands are typed at prompt in MySQL A Guide to SQL, Seventh Edition

  33. A Guide to SQL, Seventh Edition

  34. A Guide to SQL, Seventh Edition

  35. SQL CONSTRAINTS Volver a los Objetivos

  36. SQL Constraints • NOT NULL constraint • Se asegura de que la columna no acepte valores nulos. • UNIQUE constraint • Se asegura de que el valor en la columna sea único con respecto a los demás valores en la misma columna. • DEFAULT constraint • Asigna una valor por defecto cuando se va a insertar una nueva fila. • CHECK constraint • Valida la data cuando el valor del atributo se entra. Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

  37. Los próximos slides utilizan comandos de SQL para crear las tablas que se ven en este ERD

  38. Overall table definitions Figure 7-6 SQL database definition commands for Pine Valley Furniture Pag: 300

  39. Figure 7-6 SQL database definition commands for Pine Valley Furniture

  40. Figure 7-6 SQL database definition commands for Pine Valley Furniture

  41. Figure 7-6 SQL database definition commands for Pine Valley Furniture

  42. Figure 7-6 SQL database definition commands for Pine Valley Furniture

  43. Defining attributes and their data types

  44. Non-nullable specification Primary keys can never have NULL values Identifying primary key

  45. Non-nullable specifications Primary key Some primary keys are composite– composed of multiple attributes

  46. Controlling the values in attributes Default value Domain constraint

  47. Identifying foreign keys and establishing relationships Primary key of parent table Foreign key of dependent table

  48. Data Integrity Controls • Referencia de integridad – Son constraints que aseguran que los valores del FK de una tabla deben parear los valores del PK de una tabla en una relación 1:M. • Restringe: • Eliminación de records primarios • Actualización de records primarios • Insertar records dependientes Pag: 303