lenguaje sql

22
LENGUAJE SQL L.I.A. MIGUEL ALEJO ALEJO MARZO DEL 2014

Upload: miguel-alejo-alejo

Post on 09-Jul-2015

173 views

Category:

Education


2 download

DESCRIPTION

Lenguaje SQL Lenguaje de definición de datos Tipos de dominios Operaciones básicas sobre esquemas

TRANSCRIPT

Page 1: Lenguaje sql

LENGUAJE SQL

L.I.A. MIGUEL ALEJO ALEJO

MARZO DEL 2014

Page 2: Lenguaje sql

INTRODUCCIÓN A SQL

IBM desarrolló la versión original de SQL, originalmente denominada

Sequel, como parte del Proyecto System R a principios de 1970. El lenguaje

Sequel ha evolucionado desde entonces y su nombre ha pasado a ser SQL

(Structured Query Languaje). Hoy en día, numerosos productos son

compatibles con el lenguaje SQL y se ha establecido como el lenguaje

estándar para las bases de datos relacionales.

El lenguaje SQL tiene varios componentes:

Lenguaje de definición de datos. Proporciona comandos para la

definición de esquemas de relación, borrado de relaciones y

modificación de los esquemas de relación.

Page 3: Lenguaje sql

INTRODUCCIÓN A SQL

Lenguaje interactivo de manipulación de datos. Incluye un lenguaje de

consultas basado tanto en el algebra relacional como en el calculo

relacional de tuplas. También contiene comandos para insertar, borrar y

modificar tuplas.

Integridad. El LDD incluye comandos para especificar las restricciones

de integridad que debe cumplir los datos almacenados en la base de

datos. Las actualizaciones que violen la integridad se rechazan.

Definición de vistas. El LDD incluye comandos para la definición de

vistas.

Control de transacciones. SQL incluye comandos para especificar el

comienzo y el final de las transacciones.

Page 4: Lenguaje sql

INTRODUCCIÓN A SQL

Autorizaciones. El LDD de SQL incluye comandos para especificar los

derechos de acceso a las relaciones y a las vistas.

Page 5: Lenguaje sql

DEFINICIÓN DE DATOS

El conjunto de relaciones de cada base de datos debe especificarse en el

sistema en términos de un lenguaje de definición de datos (LDD). El LDD de

SQL no solo permite la especificación de un conjunto de relaciones, sino

también de la información relativa a esas relacione, incluyendo:

El esquema de cada relación

El dominio de valores asociados a cada atributo

Las restricciones de integridad

El conjunto de índices que se deben mantener para cada relación

La información de seguridad y de autorización de cada relación

La estructura de almacenamiento físico de cada relación en el disco

Page 6: Lenguaje sql

DEFINICIÓN DE DATOS

Tipos básicos de dominios

SQL soporta gran variedad de tipos de dominios predefinidos:

Char(n): Una cadena de caracteres de longitud fija, con una longitud n

especificada por el usuario.

Varchar(n): Una cadena de caracteres de longitud variable con una

longitud máxima n especificada por el usuario.

Int: Un entero (subconjunto finito de los enteros dependientes de la

maquina).

Numeric(p,d): Un número de coma fija, cuya precisión la especifica el

usuario. El número esta formado por p dígitos y de esos p dígitos, d

pertenecen a la parte decimal.

Real, double precision: Números de coma flotante y números de coma

flotante de doble precisión.

Float(n): Un número de coma flotante cuya precisión es de n dígitos.

Page 7: Lenguaje sql

DEFINICIÓN DE DATOS

Tipos básicos de dominios

Date: Tipo de dato para especificar una fecha de calendario que

contiene el año (cuatro cifras), el mes y el día en formato americano.

Time: Tipo de dato para especificar la hora del día en horas, minutos y

segundos (valor predeterminado es 0).

Datetime: Tipo de dato para especificar fecha y hora.

Page 8: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

El lenguaje de definición de datos, es el que se encarga de la modificación

de la estructura de los objetos de la base de datos. Incluye órdenes para

modificar, borrar o definir las tablas en las que se almacenan los datos de

la base de datos. Existen cuatro operaciones básicas:

CREATE: Este comando crea un objeto dentro del gestor de base de

datos. Puede ser una base de datos, tabla, índice, procedimiento

almacenado o vista.

ALTER: Este comando permite modificar la estructura de un objeto. Se

pueden agregar/quitar campos a una tabla, modificar el tipo de un

campo, agregar/quitar índices a una tabla, modificar un trigger, etc.

Page 9: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

DROP: Este comando elimina un objeto de la base de datos. Puede ser

una tabla, vista, índice, trigger, función, procedimiento o cualquier otro

objeto que el motor de la base de datos soporte. Se puede combinar con

la sentencia ALTER.

TRUNCATE: Este comando trunca todo el contenido de una tabla. La

ventaja sobre el comando DROP, es que si se quiere borrar todo el

contenido de la tabla, es mucho más rápido, especialmente si la tabla es

muy grande. La desventaja es que TRUNCATE sólo sirve cuando se

quiere eliminar absolutamente todos los registros, ya que no se permite

la cláusula WHERE.

Page 10: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

A. Elaboración de bases de datos

Estructura:

create database n

Donde:

n: nombre de la base de datos

Ejemplo:

create database mdmbd

create database seguros

Page 11: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

B. Eliminación de bases de datos

Estructura:

drop database n

Donde:

n: nombre de la base de datos

Ejemplo:

drop database mdmbd

drop database seguros

Page 12: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

C. Elaboración de tablas

Estructura:

create table r (a1 d1, a2 d2, …, an dn, primary key (a1))

Donde:

r: nombre de la tabla o relación

a: nombre del atributo

d: tipo de dominio

Ejemplo:

create table autos

(no_serie char(15), modelo decimal(4), marca char(15), color char(10),

primary key (no_serie))

Page 13: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

D. Añadir clave primaria a las tablas

Estructura:

alter table r add primary key (a)

Donde:

r: nombre de la tabla o relación

a: nombre del atributo de la clave primaria

Ejemplo:

alter table autos add primary key (no_serie)

alter table partidos add primary key (id_partido)

Page 14: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

E. Renombramiento de tablas

Estructura:

alter table r rename n

Donde:

r: nombre actual de la tabla o relación

n: nuevo nombre de la tabla o relación

Ejemplo:

alter table autos rename auto

alter table partidos rename partido

Page 15: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

F. Eliminación de tablas

Estructura:

drop table r

Donde:

r: nombre de la tabla o relación

Ejemplo:

drop table auto

drop table partido

Page 16: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

G. Añadir atributos a la estructura de la tabla

Estructura:

alter table r add a d

alter table r add a d after ae

alter table r add a d first

Donde:

r: nombre de la tabla o relación

a: nombre del nuevo atributo

d: tipo de dominio del nuevo atributo

ae: nombre del atributo existente en la tabla o relación

after: después del atributo existente

first: al inicio de los atributos

Page 17: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

G. Añadir atributos a la estructura de la tabla

Ejemplo:

alter table autos add estatus char(8)

alter table autos add placa char(8) after marca

alter table partidos add estatus char(8) first

Page 18: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

H. Renombramiento de atributos en tablas

Estructura:

alter table r change aa na d

Donde:

r: nombre de la tabla o relación

aa: nombre del antiguo atributo

na: nombre del nuevo atributo

d: tipo de dominio del nuevo atributo

Ejemplo:

alter table autos change estatus fecha date

alter table partidos change estatus serie char(15)

Page 19: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

I. Modificar el tipo de dominio de los atributos de las tablas

Estructura:

alter table r modify a d

Donde:

r: nombre de la tabla o relación

a: nombre del atributo existente

d: nuevo tipo de dominio del atributo

Ejemplo:

alter table partidos modify lugar char(50)

alter table partidos modify tipo_partido numeric(2)

Page 20: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

J. Borrar atributos de la tabla

Estructura:

alter table r drop a

Donde:

r: nombre de la tabla o relación

a: nombre del atributo

Ejemplo:

alter table partidos drop lugar

alter table partidos drop tipo_partido

alter table autos drop estatus

Page 21: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

K. Borrar la clave primaria de las tablas

Estructura:

alter table r drop primary key

Donde:

r: nombre de la tabla o relación

Ejemplo:

alter table autos drop primary key

alter table partidos drop primary key

Page 22: Lenguaje sql

DEFINICIÓN DE DATOS

Definición básica de esquemas en SQL

L. Borrar la clave foránea de las tablas

Estructura:

alter table r drop foreign key fk

Donde:

r: nombre de la tabla o relación

fk: nombre de la clave foránea de la tabla o relación

Ejemplo:

alter table impositor drop foreign key numero_cuenta

alter table prestatario drop foreign key numero_prestamo