INFORMÁTICA MÉDICA. Profesor: MsC. Liz Armenteros Chávez

Documentos relacionados
SQL (Structured query language)

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA

Tema 33. El lenguaje SQL

Modulo I: Introducción Gestores de Bases De Datos

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

Integridad Referencial. Restricciones (constraints)

ADMINISTRACION DE BASES DE DATOS EN ORACLE

GBD Diseño físico de DDBB

SQL (Structured Query Language)

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DDL. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

EL ENTORNO DE TRABAJO SQL ORACLE

Temario. Índices simples Árboles B Hashing

A.1. Definiciones de datos en SQL

Está basado en el álgebra y en el cálculo relacional.

GUIA DE SQL DDL (DATA DEFINITION LANGUAGE) DML (DATA MANIPULATION LANGUAGE) Agosto de 2008 AUTORES:

ADMINISTRACIÓN DE BASE DE DATOS

APÉNDICE SQL (Structures Query Language)

GESTORES GESTORES DE BASES DE DATOS

Diseño e Implementación SQL Server

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Conceptos Avanzados de Bases de datos

SISTEMA DE DATOS CURSO: ERNESTO CHINKES FACULTAD DE CIENCIAS ECONOMICAS UNIVERSIDAD DE BUENOS AIRES GUIA: SQL GUIA DE SQL

LENGUAJE DE MANIPULACIÓN DE DATOS

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

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

Bases de Datos 2. Teórico

Acceso a bases de datos MySQL con PHP

ÍNDICE. Introducción... Capítulo 1. Novedades de Access

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

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

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

Consulta por Criterio y Expresión

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

Bases de Datos: Structured Query Language (SQL)

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

SQL Los fundamentos del lenguaje

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

1. DML. Las consultas multitabla

SQL. Orígenes y Evolución

MS_2778 Writing Queries Using Microsoft SQL Server 2008 Transact-SQL

Gestor de bases de datos MicroSoft Access (2 de 4)

SERVICIO NACIONAL DE APRENDIZAJE SENA

Introducción a las Bases de Datos

Oracle Básico PL/SQL

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

TIPOS DE CAMPOS Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes.

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011

TEMA 22: LENGUAJES DE MANIPULACIÓN Y DEFINICIÓN DE DATOS.

RESUMEN DEL LENGUAJE SQL

Bases de Datos Relacionales

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

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

El Modelo Relacional de Bases de Datos

Base de datos relacional

Diseña y Administra Bases de Datos Guía de Estudio

PARTE I LENGUAJE SQL. GESTION DE DATOS

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

ÍNDICE INTRODUCCIÓN...17

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Computación Web (Curso 2015/2016)

SQL SQL. Índice. Componentes. Objetivos

Grupo Kybele, Pág. 1

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

LENGUAJE SQL. Bárbula, Febrero de Historia y Definición

[CASI v.0110] Pág. 1

Conocimiento de las Bases de Datos relacionales.

MANUAL BÁSICO DEL LENGUAJE SQL

Lenguaje SQL para Novatos

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Introducción a las bases de datos.

SQL: Lenguaje de acceso a bases de datos

CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

Transact-SQL. Declaraciones del Data Control Language (DCL) que se utilizan para determinar quién ve o modifica los datos.

Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para Tecnología de la Información.

INTRODUCCIÓN AL SQL. TRANSACT-SQL SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

BASES DE DATOS - SQL. Javier Enciso

Características del lenguaje SQL

MANUAL BÁSICO DEL LENGUAJE SQL

SQL (Structured Query Language)- DML

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

Conceptos Avanzados de Programación en Internet

Ing. Yim Isaias Apestegui Florentino

Implementación de la integridad de datos

Bases de Datos OTROS ASPECTOS MODELO E-R

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

Tema 3 Modelo relacional

Guía rápida funcionamiento general

Transcripción:

INFORMÁTICA MÉDICA Profesor: MsC. Liz Armenteros Chávez

Tema No.2: Gestión de la Información Biomédica Conferencia No.3 DDL (Data Definition Language) Lenguaje de definición de datos Marzo, 2014

Definir el lenguaje SQL introduciendo sus características y sintaxis. Introducir el lenguaje DDL mediante el estudio de como se crea y modifica la estructura de una base de datos. OBJETIVOS

1. Qué es SQL? Dialectos de SQL Sublenguajes de SQL 2. Sintaxis SQL 3. Creación de una base de datos. 4. Creación de la estructura de una tabla. 5. Modificación de la estructura de una tabla. 6. Eliminación de una tabla. 7. Eliminación de una base de datos. SUMARIO

http://www.aulaclic.es/sql BIBLIOGRAFÍA

Qué es SQL? SQL (Structured query language), lenguaje de consulta estructurado, es un lenguaje surgido de un proyecto de investigación de IBM a principios de los años 70 para el acceso a bases de datos relacionales. Se ha convertido en un estándar internacional reconocido por organismos de estándares, como ISO y ANSI. Soportado por la mayoría de los sistemas de gestión de bases de datos, desde sistemas para ordenadores personales, hasta grandes ordenadores. SQL

Los SGBD soportan SQL, pero... Ninguno lo implementa completamente. Muchos de ellos añaden extensiones al estándar. Los SGBD más conocidos: Oracle Microsoft SQL Server Microsoft Access PostgreSQL MySQL Sqlite Dialectos de SQL

SQL nos permite realizar consultas a la base de datos. Pero también realiza funciones de definición, control y gestión de la base de datos. Las sentencias SQL se clasifican según su finalidad dando origen a tres sublenguajes : DDL (Data Description Language), lenguaje de definición de datos, incluye órdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que más varia de un sgbd a otro) DCL (Data Control Language), lenguaje de control de datos, contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros. DML (Data Manipulation Language), lenguaje de manipulación de datos, nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados. Sublenguajes SQL

Una sentencia SQL es como una frase (escrita en inglés ) con la que decimos lo que queremos obtener y de donde obtenerlo. Todas las sentencias empiezan con un verbo (palabra reservada que indica la acción a realizar), seguido del resto de cláusulas, algunas obligatorias y otras opcionales que completan la frase. Todas las sentencias siguen una sintaxis para que se puedan ejecutar correctamente, para describir esa sintaxis utilizaremos un diagrama sintáctico. Características

Una sentencia válida se construye siguiendo la línea a través del diagrama hasta el punto que marca el final. Las líneas se siguen de izquierda a derecha y de arriba abajo. Cuando se quiere alterar el orden normal se indica con una flecha. Las palabras que aparecen en mayúsculas son palabras reservadas, se tienen que poner tal cual y no se pueden utilizar para otro fin (en el diagrama de la figura tenemos las palabras reservadas SELECT, ALL, DISTINCT, FROM, WHERE). Las palabras en minúsculas son variables que el usuario deberá sustituir por un dato concreto. En el diagrama tenemos nbcolumna, expresion-tabla y condicion-de-busqueda. Interpretación

El DDL (Data Definition Language) lenguaje de definición de datos es la parte del SQL que contiene las sentencias que afectan la estructura de los datos y es el sublenguaje que más varía de un sistema a otro ya que este tiene que ver con cómo se organizan internamente los datos y eso, cada sistema de gestión lo hace de una manera u otra. El DDL de Microsoft Jet en cambio contiene menos instrucciones que otros sistemas. DDL

Crea la estructura de una tabla no para rellenarla con datos, nos permite definir las columnas que tiene y ciertas restricciones que deben cumplir esas columnas. nbtabla: nombre de la tabla que estamos definiendo (Pacientes) nbcol: nombre de la columna que estamos definiendo (Historia Clínica) tipo: tipo de dato de la columna, todos los datos almacenados en la columna deberán ser de ese tipo. (char) Una restricción consiste en la definición de una característica adicional que tiene una columna o una combinación de columnas, suelen ser características como valores no nulos (campo requerido), definición de índice sin duplicados, definición de clave principal y definición de clave foránea (clave ajena o externa, campo que sirve para relacionar dos tablas entre sí). restricción1: una restricción de tipo 1 es una restricción que aparece dentro de la definición de la columna después del tipo de dato y afecta a una columna, la que se está definiendo. restricción2: una restricción de tipo 2 es una restricción que se define después de definir todas las columnas de la tabla y afecta a una columna o a una combinación de columnas. CREATE TABLE

restricción de tipo 1 se utiliza para indicar una característica de la columna que estamos definiendo NOT NULL indica que la columna no podrá contener un valor nulo (equivale a la propiedad requerido Sí de las propiedades del campo). CONSTRAINT sirve para definir una restricción que se podrá eliminar cuando queramos sin tener que borrar la columna. A cada restricción se le asigna un nombre que se utiliza para identificarla y para poder eliminarla cuando se quiera. PRIMARY KEY define la columna como clave principal de la tabla, la columna no puede contener valores nulos ni pueden haber valores duplicados. En una tabla no pueden haber varias claves principales pero una clave principal si puede estar compuesta por varias columnas (esto se define con una restricción de tipo 2). UNIQUE sirve para definir un índice único sobre la columna, índice que no permite valores duplicados. REFERENCES define una clave foránea, que es una columna o conjunto de columnas que contiene un valor que hace referencia a una fila de otra tabla CREATE TABLE

Una restricción de tipo 2 se utiliza para definir una característica que afecta a una columna o a una combinación de columnas de la tabla que estamos definiendo, se escribe después de haber definido todas las columnas de la tabla. Muy similar a la CONSTRAINT de una restricción 1 la diferencia es que ahora tenemos que indicar sobre qué columnas queremos definir la restricción. Se utilizan obligatoriamente las restricciones de tipo 2 cuando la restricción afecta a un grupo de columnas o cuando queremos definir más de una CONSTRAINT para una columna (sólo se puede definir una restricción1 en cada columna). CREATE TABLE

CREATE TABLE tab1 ( col1 INTEGER CONSTRAINT pk PRIMARY KEY, col2 CHAR(25) NOT NULL, col3 CHAR(10) CONSTRAINT uni1 UNIQUE, col4 INTEGER, col5 INT CONSTRAINT fk5 REFERENCES tab2 ); CREATE TABLE tab1 (col1 INTEGER, col2 CHAR(25) NOT NULL, col3 CHAR(10), col4 INTEGER, col5 INT, CONSTRAINT pk PRIMARY KEY (col1), CONSTRAINT uni1 UNIQUE (col3), CONSTRAINT fk5 FOREIGN KEY (col5) REFERENCES tab2 ); Definición usando restricciones tipo 1 Definición usando restricciones tipo 2 CREATE TABLE

ALTER TABLE: Modificar la estructura de una tabla que ya existe. ALTER TABLE tab1 ADD COLUMN col3 integer NOT NULL CONSTRAINT c1 UNIQUE Con este ejemplo estamos añadiendo a la tabla tab1 una columna llamada col3 de tipo entero, requerida (no admite nulos) y con un índice sin duplicados llamado c1. DROP TABLE: Elimina una tabla. No se puede eliminar una tabla si está abierta, tampoco la podemos eliminar si el borrado infringe las reglas de integridad referencial (si interviene como tabla padre en una relación y tiene registros relacionados). ALTER TABLE DROP TABLE

CREATE INDEX: crear un índice sobre una o varias columnas de una tabla. nbindi: nombre del índice que estamos definiendo. En una tabla no pueden haber dos índices con el mismo nombre. nbtabla: nombre de la tabla donde definimos el índice. nbcol: nombre de la columna(s) que indexamos. ASC: la cláusula ASC es la que se asume por defecto e indica que el orden elegido para el índice es ascendente DESC: indica orden descendente, es decir el orden inverso al ascendente. WITH PRIMARY indica que el índice define la clave principal de la tabla, si la tabla ya tiene una clave principal, la sentencia CREATE INDEX dará error. WITH DISALLOW NULL indica que no permite valores nulos en las columnas que forman el índice. WITH IGNORE NULL indica que las filas que tengan valores nulos en las columnas que forman el índice se ignoran, no aparecen cuando recuperamos las filas de la tabla utilizando ese índice. CREATE INDEX

DROP INDEX: Elimina un índice de una tabla. Se elimina el índice pero no las columnas que lo forman. CREATE UNIQUE INDEX ind1 ON clientes (provincia, poblacion ASC, fecha_nacimiento DESC) CREATE INDEX ind1 ON clientes (provincia, poblacion ASC, fecha_nacimiento DESC) DROP INDEX ind1 ON clientes DROP INDEX

Un índice en informática es como el índice de un libro donde tenemos los capítulos del libro y la página donde empieza cada capítulo. Un índice es una estructura de datos que permite recuperar las filas de una tabla de forma más rápida además de proporcionar una ordenación distinta a la natural de la tabla. Un índice se define sobre una columna o sobre un grupo de columnas, y las filas se ordenarán según los valores contenidos en esas columnas. Si el índice se define sobre varias columnas, los registros se ordenarán por la primera columna, dentro de un mismo valor de la primera columna se ordenarán por la segunda columna, y así sucesivamente. El orden de las columnas dentro de un índice es importante. Índices

Ventajas: Si una tabla tiene definido un índice sobre una columna se puede localizar mucho más rápidamente una fila que tenga un determinado valor en esa columna. Recuperar las filas de una tabla de forma ordenada por la columna en cuestión también será mucho más rápido. Inconvenientes: Al ser el índice una estructura de datos adicional a la tabla, ocupa un poco más de espacio en disco. Cuando se añaden, modifican o se borran filas de la tabla, el sistema debe actualizar los índices afectados por esos cambios lo que supone un tiempo de proceso mayor. Por estas razones no es aconsejable definir índices de forma indiscriminada. Por eso una regla bastante acertada es definir índices sobre columnas que se vayan a utilizar a menudo para recuperar u ordenar las filas de una tabla. El Access de hecho crea automáticamente índices sobre las columnas claves principales y sobre las claves foráneas ya que se supone que se utilizan a menudo para recuperar filas concretas. Índices

SQL es un lenguaje estructurado que nos permite realizar consultas a una base de datos. Pero también realiza funciones de definición, control y gestión de la misma. Las sentencias SQL se clasifican según su finalidad dando origen a tres sublenguajes : DDL (Data Description Language), lenguaje de definición de datos. DCL (Data Control Language), lenguaje de control de datos. DML (Data Manipulation Language), lenguaje de manipulación de datos. DDL: CREATE TABLE ALTER TABLE DROP TABLE CREATE INDEX DROP INDEX CONCLUSIONES

Estudio Independiente 1. Estudiar el documento Conceptos básicos de integridad referencial (Pregunta escrita en la siguiente conferencia) 2. Definir la sentencia para la creación de la tabla Pacientes (Entrega individual escrita en el siguiente laboratorio) INDEPENDIENTE