Sunteți pe pagina 1din 59

BASES DE DATOS I

INTRODUCCIN

Facultad de Ciencias Exactas

Universidad Nac. Centro de la Pcia. de Bs. As.


Cursada 2014
Laura Rivero

BASE DE DATOS: Definicin

Conjunto de datos interrelacionados almacenados representando


entidades y sus relaciones.
Representacin nica e integrada aunque debe permitir variadas
utilizaciones simultneas.

Almacena:
- los datos de la organizacin y
- una descripcin de dichos datos (datos acerca de los datos)
metadatos diccionario de datos

independencia de datos lgica fsica.

BASE DE DATOS: Definicin

Una base de datos es un conjunto estructurado


de datos coherentes
Coleccin
disponible de
informacin
No hay contradiccin entre los
datos ligados, no hay prdida
de informacin, aun sabiendo
que hay una utilizacin
compartida de los datos entre
varios usuarios

Coleccin organizada en
subconjuntos, en funcin
de vnculos semnticos
entre las diferentes
informaciones
(estructura lgica)

Fuente: Bases de datos I, Universidad Nacional de Colombia

BASE DE DATOS: Definicin


Propiedades implcitas:
Conjunto de datos persistentes
Coherente lgicamente
Con significado implcito
Representa aspectos del mundo real
(universo de discurso UdeD)

Los cambios en el UdeD se


reproducen en la BD

Se DISEA, se CREA y se CARGA, para


conseguir objetivos determinados

Datos ALMACENADOS para un


fin especfico

Dirigida a un grupo de usuarios

Datos INTERESANTES para


quienes quieren lograr el fin
especfico

Base de datos

Mtodo habitualmente elegido para el almacenamiento


estructurado de datos diversidad de aplicaciones
utilizan tecnologa de bases de datos para asegurar la
integridad de los datos y facilitar la labor de usuarios y
programadores que los desarrollaron.

grandes aplicaciones multiusuario


telefona mvil
agendas electrnicas
..

Desde la obtencin del primer modelo de datos (70s)


pasando por la administracin del sistema gestor
(DBMS/SGBD) hasta llegar al desarrollo de cada
aplicacin (actualmente)

conceptos y tecnologa asociados muy heterogneos.

Base de datos: motivacin

El software de gestin de archivos era demasiado elemental para dar


satisfaccin a necesidades cuasi-bsicas: tratamiento de las
interrelaciones, actualizacin simultnea de los datos por varios
usuarios, etc.

La utilizacin de estos sistemas de archivos mediante programas de


aplicacin era excesivamente compleja impuls el desarrollo de
software ms sofisticado: Database Management Systems (SGBD)

Conjuntos de archivos interrelacionados, con estructuras


complejas y compartidos por varios procesos de forma simultnea

Informacin oportuna y pertinente clave para la toma de decisiones.

Correcta toma de decisiones clave de la supervivencia de la


organizacin

Un poco de historia
Por qu surgieron los sistemas de Bases de
Datos?
Necesidad de solucionar las debilidades de los
sistemas de archivos
Capacidades:

Manejo de persistencia
Soporte por lo menos de un modelo de datos
Soporte de un lenguaje de alto nivel que permita manipular
y definir la estructura de la informacin
Control de acceso
Evitar inconsistencias al compartir la informacin

Los archivos tradicionales y las BD


Principales diferencias
1) Objetos:
Archivos: habitualmente tienen registros de un solo tipo de objeto.
BD: tienen datos de varios tipos de objetos.
2) Interrelaciones:
Archivos: el sistema no conecta archivos (navegacional a travs de sistemas de
apuntadores).
BD: el sistema tiene previstas herramientas para interrelacionar objetos.
3) Redundancia:
Archivos: se crean archivos a medida de cada aplicacin, con todos los datos
necesarios (an con redundancia respecto de otros archivos).
BD: todas las aplicaciones trabajan con la misma BD, la integracin de los datos
es bsica se evita la redundancia.
4) Usuarios
Archivos: para un solo usuario o aplicacin nica visin del mundo real.
BD: compartida por muchos usuarios de distintos tipos diferentes visiones del
mundo real.

Antes

Dpto. Personal
Empleados

Dpto. Ventas
Clientes

Ventas

Dpto. Contabilidad
Cuentas

Inventario

Personal
Ventas

Contabilidad

BASE DE DATOS

SGBD

Empleados
Clientes
Ventas
Inventario
Cuentas

Actualmente
Fuente: Bases de Datos I, Universidad Nacional de Colombia

Historia de los sistemas de bases de datos

o Primera generacin: sistema jerrquico y sistema de red.


Requieren complejos programas de aplicacin.
La independencia de datos es mnima.
No tienen un fundamento terico.
o Segunda generacin: modelo relacional.
Lenguaje de consultas estructurado: SQL.
Desarrollo de DBMS relacionales comerciales.
Limitada capacidad para modelar datos.
o Tercera generacin: modelo orientado a objetos y modelo
relacional extendido.
Subsana falencias del modelo relacional puro

Lnea de tiempo
(Fuente: In the beginning: an RDBMS history. Por Colin White.
Teradatamagazine.Com. 2004)

Terminologa

Dato: es la representacin fsica de un aspecto de la


realidad

Base de Datos: conjunto de datos, que pueden estar


organizados y/o interrelacionados de alguna manera con
un propsito particular.

DBMS: Sistema de Administracin de Bases de Datos


(DataBase Management System) un sistema de software
que le brindan al usuario la posibilidad de crear,
manipular, configurar, mantener y obtener beneficios de
una base de datos. Tambin reconocido (en espaol)
como SGBD (Sistema de Gestin de Bases de Datos)
12

Componentes dentro del entorno de un SGBD


Se pueden identificar 5 componentes dentro del entorno de un SGBD:
Hardware: puede ir desde un nico PC personal hasta mainframe o red
de PC.

Software: incluye tanto el software del SGBD como el SO, las


aplicaciones de red, programas de aplicacin entre otros.

Datos: el componente ms importante dentro de un SGBD

Procedimientos: instrucciones y reglas que gobiernan el diseo y


utilizacin de la base de datos. (iniciar sesin, realizar bkp, etc.)

Personas: las personas que se relacionan de una u otra forma con el


SGBD.

Arquitectura de una Base de Datos

Punto de vista lgico (usuarios):


- almacenan todos los datos en un solo lugar
- almacenan definiciones de las relaciones entre los datos.

Punto de vista fsico:

- los datos se almacenan en uno o varios discos y en uno o varios archivos


(an en una o varias locaciones).

Acceso a datos:
- a travs del DBMS y mediante sentencias especficas (lenguajes de cuarta
generacin).

ARQUITECTURA EN TRES NIVELES

Arquitectura en tres niveles

Propuesta de arquitectura del grupo de estudio ANSI/SPARC (1977) para


los DBMS
Nivel conceptual Esquema conceptual descripcin de la BD sin
considerar el DBMS
Nivel interno Esquema interno descripcin de la BD en trminos de su
representacin fsica

Nivel externo Esquema externo descripcin de las vistas parciales de


la BD para cada grupo de usuarios

Arquitectura de 3 niveles

Propuesta de arquitectura del grupo de estudio ANSI/SPARC (1977) para los


SGBD
Nivel externo Esquema externo : descripcin de las vistas parciales de la BD
para cada grupo de usuarios
Nivel conceptual Esquema conceptual : descripcin de la BD sin considerar
el SGBD
Nivel interno Esquema fsico : descripcin de la BD en trminos de su
representacin fsica

Debido a que no existe un modelo conceptual generalizado y


accesible a los distintos tipos de SGBD, se prefiere distinguir
cuatro niveles:
Nivel conceptual Esquema conceptual descripcin de la BD
sin considerar el SGBD
Nivel lgico Esquema lgico descripcin de la BD en
trminos del modelo de datos del SGBD

Arquitectura en tres niveles

Nivel externo
confidencialidad

Nivel conceptual
integridad semntica

Nivel interno
gestin de acceso

Arquitectura en tres niveles

Nivel externo

El ms cercano a los usuarios finales

Percepcin de la base de datos por parte de los usuarios finales

Tantas visiones como tipos de usuarios

Cada visin de usuario final se puede caracterizar como un subesquema.

Algunas visiones de usuario pueden incluir:

Datos Agrupados: Totales por Facultad y Carrera


Datos Derivados: Sueldo total = bsico + comisin
Datos Calculados: Edad de una persona

Los datos derivados y calculados se obtiene a partir de otro(s) dato(s).

Nivel conceptual

Mediador entre los otros 2 niveles

Descripcin semntica comunitaria de los datos que conforman la base


de datos, siendo una vista completa de todos los requerimientos y
elementos de inters para la organizacin

Se ocupa de los datos almacenados en la base de datos fsica y las


relaciones entre ellos y debe incluir restricciones sobre los datos

Es soporte de cada vista de usuario

La descripcin del nivel conceptual no debe contener detalles


dependientes del almacenamiento, aunque frecuentemente, las
caractersticas de los DBMSs obligan a hacer algunas concesiones.

Tiene asociado un lenguaje de alto nivel para su especificacin.

Nivel fsico

Interno, ms cercano a la mquina

Su esquema contiene la descripcin y tipos de datos:


tamao y precisin, tipos de ndices y de estructuras de
almacenamiento concretas utilizadas, de acuerdo con un
SGBD particular

Describe cmo los datos son almacenados en trminos de


estructuras de datos particulares

Facultado para:
Reservar espacio para datos e ndices
Efectuar compresin de datos
Utilizar tcnicas de encriptamiento de datos

Sistemas de bases de datos


Mantiene tres formas de ver los datos (en concordancia con los niveles):
-El esquema de la base de datos: visin lgica global.
diseador de la base de datos
administrador de la base de datos
-El subesquema o vista: visin lgica de los datos relacionados con una
aplicacin.
programadores de aplicaciones
usuarios finales
-El esquema fsico: el modo en que los datos estn almacenados.
programadores de sistemas
creadores de DBMS

Roles en el ambiente de las bases de datos

-Administrador de la base de datos. Realiza las siguientes tareas:


Diseo fsico e implementacin de la base de datos.
Control de la seguridad y la concurrencia.
Mantenimiento del sistema.
Mantenimiento de las prestaciones.
- Diseadores de la base de datos: llevan a cabo el diseo lgico
de la base de datos.
- Programadores de aplicaciones: implementan los programas que
darn servicio a los usuarios finales.
- Usuarios finales: son los clientes de la base de datos.

Esquema de acceso a los datos del SGBD

Esquema de acceso a los datos del SGBD

Independencia de datos
Propiedad que asegura que los programas de
aplicacin sean independientes o inmunes a los cambios
realizados en datos que no usan o en detalles de
representacin fsica de los datos a los que acceden.
Independencia lgica entre el esquema lgico/conceptual y los externos:
Los esquemas externos y los programas de aplicacin no deben ser
afectados por alteraciones del esquema lgico/conceptual sobre datos
que no usan.

Independencia fsica entre el esquema interno y el lgico/conceptual:


el esquema lgico/conceptual no debe verse afectado por cambios en
el esquema interno referentes a la implementacin de las estructuras de
datos, modos de acceso, tamaos de pginas, caminos de acceso, etc.

SGBD / DBMS
Ofrece facilidades para:
Definicin de las estructuras lgicas de la BD crear la base de datos, a partir de
un esquema conceptual, mediante el lenguaje de definicin de datos (DDL).

Independencia de los datos el DBMS permitir a los usuarios almacenar,


recuperar y actualizar los datos eficientemente. Se ocultan detalles sobre cmo
estn realmente almacenados y cmo se actualizan.
Definicin de las estructuras fsicas de la BD
Acceso a la BD
Definicin de las estructuras de archivos para almacenar los datos operativos del
usuario
Proporciona un acceso controlado a la base de datos mediante los sistemas de
seguridad, de integridad, de control de concurrencia, de control de
recuperacin.
Administra el catlogo o diccionario de datos (metadatos)
Permite definir subesquemas o vistas: cada usuario ve la parte de la base de
datos que necesita

Ventajas de los sistemas de bases de datos


Por la integracin de datos:
o Se reduce la redundancia de datos, por lo tanto, se ocupa
menos espacio en disco.
o Se pueden evitar los problemas de inconsistencia de datos.

o Se puede extraer informacin adicional sobre los datos.


o Se pueden compartir los datos.
o Se facilita el mantenimiento de estndares.

Ventajas de los sistemas de bases de datos


Por las funciones del DBMS:
o Se reduce el problema de la integridad de los datos mediante la
especificacin de reglas de integridad.
o Se mejora la seguridad de la BD frente a accesos no autorizados.
o Se pueden consultar los datos sin tener que programar aplicaciones.

o Se mejora la productividad de los programadores.


o Proporciona independencia de datos lgica fsica.
o Se aumenta la concurrencia.
o Mejoran los servicios de copias de seguridad y de recuperacin.

Estructura general de un DBMS

Fundamentos y Modelos de Bases de Datos


Adoracin de Miguel y Mario Piattini. Ed.: 2 Ed. RA-MA, 1999.

Clasificacin de DBMSs

1. DBMS pasivo:
Basados en programas.
Usuarios consultan el estado actual de la BD y recuperan la informacin
actualmente disponible.
DBMS tradicionales son pasivos en el sentido de que el inicio de las
operaciones es producido por el usuario o programas de aplicacin
explcitamente y de forma sincrnica.
Las aplicaciones envan las solicitudes de las operaciones a realizar por
el DBMS y espera que el DBMS confirme y devuelva alguna respuesta
posible.
Las operaciones pueden ser definiciones y actualizaciones del
esquema, as como consultas y actualizaciones de los datos.

Clasificacin de DBMSs

1. DBMS activo:
Son sistemas basados tanto en datos como en eventos
Usuarios especifican al DBMS la informacin que necesitan

Si la informacin de inters se encuentra actualmente disponible, el DBMS monitorea


la llegada de la informacin deseada y la distribuye a los usuarios pertinentes.
El mbito de una consulta en un DBMS pasivo se limita a los datos pasados y
presentes; el alcance de una consulta en un DBMS activo incluye, adems, los datos
futuros.

Un DBMS activo invierte el flujo de control entre las aplicaciones y el DBMS no


slo las aplicaciones invocan al DBMS, sino que el DBMS tambin puede invocar
otras aplicaciones.
Contienen un conjunto de reglas activas que tienen en cuenta los eventos que
provocan cambios del estado de la BD, obtienen VERDADERO o FALSO como
resultado de una condicin o una consulta a la BD, y ejecutan una accin a
travs de un programa de manipulacin de datos integrados en el sistema.

Importante .

Lo sepa o no.. usted est usando una base


de datos
cada da
cada hora .
cada minuto.
Prcticamente cada instante de su vida!!!!

Modelos de datos
Un modelo de datos est formado por:
o Un conjunto de conceptos para definir la estructura de la base de
datos:
Datos y Relaciones entre datos
SENTENCIAS del lenguaje (DDL) para creacin/modificacin de la
estructura/supresin de tablas

o Un conjunto de conceptos para definir vnculos significativos


(semnticos) entre los datos y relaciones:
Restricciones sobre datos y relaciones.
SENTENCIAS del lenguaje (DDL) para creacin, modificacin,
supresin de restricciones
o Un conjunto de operaciones para realizar consultas y
actualizaciones de datos.
SENTENCIAS del lenguaje (DML) para consultar, insertar, borrar,
modificar tuplas

Diccionario (Catlogo) de datos


Contiene las caractersticas, definiciones y usos
fundamentales de los datos
Describe:

Lo que un dato representa


Caractersticas
Usos de los datos
Permisos y restricciones a los usuarios

El Diccionario de datos contiene informacin relacionada con


el almacenamiento de los datos.
El Diccionario es una base de datos acerca de los datos
contenidos en la base de datos del usuario METADATOS

Diccionario de datos
Planeamiento
del sistema
Definicin y Anlisis
de Requisitos

Diseo

Implementacin

D
I
C
C
I
O
N
A
R
I
O

de
Testing

Operaciones y
mantenimiento

D
A
T
O
S

BD

Diccionario de datos
Administracin
BD

Interfaz a
Usuario

------------

Datos

Programadores de
Aplicaciones

Diccionario

Usuarios
Finales

---------

Interfaces al software
y DBMS

Compiladores
PreCompiladores

Prog. de aplicacin
/ Generadores de
Reportes

Restricciones de
Integridad

Tipos de Tablas (relaciones)

Base: tienen nombre, son reales (archivos) (componentes bsicos de la


base de datos).
Vistas: tienen nombre, se obtienen operando sobre tablas base u otras
vistas, habitualmente virtuales.
Instantneas: tienen nombre, son derivadas, reales (slo lectura),
refresco peridico.
Resultados de consultas: con o sin nombre, no persisten en la base de
datos.
Resultados intermedios: sin nombre, no persisten en la base de datos.
Resultados temporales: con nombre, se destruyen automticamente.

Reglas de integridad

Regla de integridad: restriccin que debe cumplirse sobre una BD


en todos sus estados.
Reglas inherentes al modelo relacional:
Regla de integridad de entidades claves primarias
Regla de integridad referencial claves extranjeras
Reglas de negocio: concepto general que abarca reglas de
integridad especficas de cada universo de discurso (plasmadas en
la BD)
Restricciones de dominios: al definir cada atributo sobre un
dominio, se impone una restriccin sobre el conjunto de valores
permitidos (nulidad, unicidad)

Regla de integridad de entidades

"Ninguno de los atributos que componen la clave primaria puede ser


nulo."
Superclave: conjunto de atributos que identifica de modo nico las
tuplas de una relacin.

Clave candidata: superclave en la que ninguno de sus subconjuntos


es una superclave de la relacin.
Clave: Debe satisfacer:
Unicidad
Irreducibilidad (minimalidad)
Observaciones:
La regla se aplica a las relaciones base (tablas base en la BD)
La regla se aplica slo a la clave primaria (no a las claves alternativas).

Claves: Terminologa
Clave: uno o ms atributos que identifican unvocamente a una entidad.
En la BD fsica: una o ms columnas de una tabla cuyos valores
identifican unvocamente una fila.
Clave Compuesta: est formada por 2 o ms atributos.

Clave Natural: formada por atributos que ya existen en el mundo


real. Columna o columnas elegidas por la organizacin para identificar
registros, lo suficientemente estables como para ser elegidas como
identificadores primarios (Ejemplo: DNI).
Clave Surrogante (SK): una clave sin significado en el UdeD. Es una
columna que no est definida por requerimientos del negocio (no es
derivada de los datos aplicativos) sino que son agregadas con el nico
propsito de identificacin.

Claves: Terminologa

Clave inteligente: tiene semntica y cumple un doble rol ya que


identifica y contiene informacin y significado.
Clave Candidata: identificadores nicos (un tipo de entidad tendr
una o ms claves candidatas).
Clave Primaria (PK): La clave elegida para una entidad.
Clave Alternativa (AK): tambin conocida como secundaria, una de
las candidatas no elegida para ser primaria.

Clave Extranjera o Fornea (FK): Uno o ms atributos en un tipo de


entidad que representa una clave primaria o alternativa en otro tipo de
entidad (podra ser el mismo).

Claves Surrogantes
Asociadas frecuentemente a identificadores de tuplas (tids) que
relacin tienen con los identificadores de entidades surrogantes?

NO siempre existe la correspondencia tupla-entidad (jerarquas,


proyecciones)
tids tienen que ver con eficiencia (accesos rpidos) porque en la
mayora de los sistemas actuales hay una correspondencia casi directa
entre tuplas y almacenamiento fsico
tids son ocultas al usuario, las SK NO una tid no es una columna de
una tabla, una SK si
tids son conceptos fsicos, SKs son conceptos lgicos
tids no necesitan ser actualizadas, SK podran ser modificadas y
reasignadas (con una administracin adecuada)

Claves Surrogantes: Caractersticas


involucran un nico atributo
la insercin de una nueva entidad provoca la generacin de una
SK nica, nueva y que no ser reutilizada
habitualmente generadas en forma automtica por el sistema
de naturaleza incremental inconvenientes en la generacin de
ndices
algunos sistemas generan ndices para los atributos nicos en
forma automtica
la clave inteligente se convierte en alternativa
ms restricciones para verificar
CUIDADO CON LAS DUPLICACIONES Y LA
NULIDAD!!
consultas en SQL ms fciles de escribir, pero pueden requerir
ms ensambles
administracin centralizada

Claves Surrogantes: Ventajas

Inmutabilidad: No cambian mientras la fila existe la BD no


perder el control de la fila aunque los datos cambien y facilita la
propagacin de acciones referenciales.
Flexibilidad ante cambios en los requerimientos: los atributos
identificatorios podran cambiar. Incluso estos atributos inicialmente
elegidos como claves naturales podran no servir ms como
identificadores.
Performance: las claves surrogantes estn implementadas en
tipos de datos compactos en una sola columna, lo cual es mejor
que operar con claves de mltiples columnas.
Compatibilidad: facilita la interaccin con otras herramientas que
requieren el manejo de identificadores globales nicos.

Claves Surrogantes: Desventajas


Disociacin: al ser valores generados, no tienen relacin con el manejo que se
hace en el mundo real.
Optimizacin de Consultas: las BD relacionales asumen la aplicacin de un
ndice nico a las claves primarias de las tablas, para garantizar la unicidad y para
buscar eficientemente las tuplas a seleccionar. Cuando se busca por contenido, las
consultas se plantean en base a claves con semntica el ndice no ayuda!! se
requieren ms ndices.
Normalizacin: un ndice secundario sobre una clave secundaria podra ser
removido accidentalmente, sin ste podran aparecer filas duplicadas
Modelado de los Procesos del Negocio: Dado que las SK son artificiales, pueden
darse errores en el modelado de los requerimientos del negocio porque stos
recaen en las claves naturales.

Supuestos inadvertidos: las SK generadas incrementalmente crean la ilusin de


un orden temporal y distorsionan la estructura de los ndices basados en
estructuras arborescentes.

Regla de integridad referencial

"Si en una relacin hay alguna clave extranjera, sus valores deben
coincidir con valores de la clave primaria a la que hace referencia, o
bien, deben ser nulos."
Claves extranjeras de ms de un atributos pueden ser parcial o
totalmente nulas diferentes formas de matching
Si estando en un estado legal, una operacin sobre los datos conduce
a un estado ilegal dos estrategias:
Rechazar la operacin (restrict / no action).
Aceptar la operacin y Reparar realizando operaciones
compensatorias adicionales que conduzcan a un estado legal
(cascade / set null / set default).

Etapas en la obtencin de un esquema de base


de datos

ESQUEMA
LGICO
GENRICO

Sin DBMS

Diseo Lgico

Diseo Conceptual

UdeD

Con DBMS

Temprano

Ingeniera de
Requisitos

Contenido de la
asignatura: Estructuras
de Almanamiento de
Datos

Normalizacin
y Depuracin

Tardo

Sistema de
Archivos

Contenido parcial de la
asignatura: Bases de
Datos I

ESQUEMA
FSICO

ESQUEMA
CONCEPTUAL

ESQUEMA
LGICO
ESPECFICO

ESQUEMA
FSICO

Base
De
Datos
Almacenamiento

Usted esta
aqu

Lenguajes de los DBMS


Hay varios tipos de lenguajes para el manejo de datos:
Operativo (Procedural)
No operativo (declarativo)
Lenguaje de Definicin de Datos (DDL):
Definicin del esquema de la base de datos.
Definicin de vistas.
Definicin de las estructuras de almacenamiento.
. Lenguaje de Manejo de Datos (DML):
Leer datos.
Actualizar datos. la insercin, actualizacin, eliminacin y consulta
de datos

. Lenguajes de Cuarta Generacin (4GL):


Generadores de formularios.
Generadores de informes.
Generadores de grficos.

SQL: Structured Query Language

SQL es un lenguaje para la definicin y manipulacin de


datos, desarrollado inicialmente en los laboratorios de
investigacin de IBM en California
Se transform en un estndar en 1986 (SQL-1986)
La versin que marc un cambio de enfoque
incorporando caractersticas OO es SQL:1999 (tambin
conocida como SQL3).
El estndar previo fue SQL-92 (SQL2)
Actualmente se habla de SQL4 como la nueva versin,
aunque no sustancialmente diferente de SQL3

SQL
Componentes

Declarativos:

Lenguaje de Definicin de Datos (DDL)


Lenguaje de Manejo de Datos (DML)

SQL empotrado: Manipulacin de datos empotrada, que


permite ser usado desde otro lenguaje anfitrin.

Operativo: Lenguaje de programacin para escribir PSM


(Persistent Stored Modules): Triggers y Stored Procedures.

SQL
Permite:
o
o
o

o
o

Crear y modificar esquemas, tablas, ndices.


Definir dominios para cada atributo de las relaciones.
Forzar restricciones de integridad: de dominio, de clave
primaria, referenciales, de semntica compleja y/o
arbitraria.

Definir acciones ante violaciones de restricciones.


Consultar tuplas mediante una combinacin de lgebra y
clculo relacional.

Definir vistas de una relacin o combinacin de ellas.

Insertar, borrar y actualizar tuplas en una relacin.

Creacin de tablas

SQL se basa en el modelo relacional: implementa las


relaciones como tablas, los atributos como columnas
y las tuplas como filas de las tablas.

Para definir una tabla en SQL se usa la sentencia


CREATE TABLE:

Creacin de tablas

CREATE TABLE NombreTabla


({NombreCol TipoDato [NOT NULL] [UNIQUE]
[DEFAULT ValorDefecto]
[CHECK Condicion] [,...]}
[PRIMARY KEY (ListaColumnas),]
{[UNIQUE (ListaColumnas),] [,]}
{[FOREIGN KEY (ListaColumnasFK)
REFERENCES NbreTablaPadre [(ListaColumnasCK)],
[ON UPDATE AccionReferencial]
[ON DELETE AccionReferencial ]] [,]}
{[CHECK (Condicion)] [,] });

Creacin de tablas

Crea una tabla con una o ms columnas con su


TipoDato especificado.
NOT NULL, indica que el sistema debe rechazar
cualquier intento de insertar un nulo en esa columna.
Se puede especificar un valor por defecto (DEFAULT)
para esa columna.
Las claves primarias deben especificarse siempre como
NOT NULL.
La clusula FOREIGN KEY especifica las claves
extranjeras y su correspondiente accin referencial

Tipos de datos bsicos

Es posible definir dominios y utilizarlos en la


definicin de las tablas
Un dominio es una definicin de un tipo de dato, que
usualmente incluye otra informacin: valor por
defecto, alguna restriccin.
Sintaxis:
CREATE DOMAIN NombreDominio [AS] TipoDato
[DEFAULT ValorDefecto]

[CHECK (Condicion)];

Ejemplo
CREATE TABLE Propiedad (
NroPropiedad NroPpiedad NOT NULL,
Ambientes
Integer
NOT NULL
DEFAULT 0,
Valor
Integer
NOT NULL,
Propietario
Prop NOT NULL,
NroEmpleado NroEmp,
NroSucursal
Integer
NOT NULL,
PRIMARY KEY (NroPropiedad),
FOREIGN KEY (NroEmpleado ) REFERENCES Empleado
ON DELETE SET NULL ON UPDATE CASCADE .);
NroPpiedad, IdProp, NroEmp son dominios definidos por el usuario:
CREATE DOMAIN Prop AS char(35)
DEFAULT Inmobiliaria;

Borrado de tablas

Para eliminar una tabla se usa la sentencia


DROP TABLE:

DROP TABLE NombreTabla [RESTRICT | CASCADE]

Modificar una tabla


Se usa la sentencia ALTER TABLE, para modificar la especificacin
de tipo y/o la longitud de una columna y/o el esquema de
atributos:
ALTER TABLE NombreTabla
[ADD[COLUMN] NbreColumna tipoDato [NOT NULL] [UNIQUE]
[DEFAULT Valor]
[CHECK (Condicion)]]
[DROP[COLUMN] NbreColumna [RESTRICT|CASCADE]]
[ADD[CONSTRAINT[NbreRestriccion]] DefinicionRestr]
[DROP[CONSTRAINT] nombreRes
[RESTRICT|CASCADE]]
[ALTER[COLUMN] SET DEFAULT opcinPredeterminada]
[ALTER[COLUMN] DROP DEFAULT]

S-ar putea să vă placă și