01 Lenguajes de Definicion de Datos (1)
-
Upload
perlita-gamez-mercado -
Category
Documents
-
view
221 -
download
0
Transcript of 01 Lenguajes de Definicion de Datos (1)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 1/32
LENGUAJES DEBASES DE DATOS
Subtítulo
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 2/32
Introducción
§ Un Sistema Gestor de Bases de Datos !or sus si"las en in"
DB#S$ !ermite almacenar % !osteriormente acceder a losde &orma r'!ida % estructurada
§ Los sistemas de bases de datos se dise(an !ara "estionar cantidades de in&ormación) La "estión de los datos im!licla de*nición de estructuras !ara almacenar la in&ormaciónla !ro+isión de mecanismos !ara la mani!ulación de la
in&ormación)§ Adem's, los sistemas de bases de datos deben !ro!orciona
*abilidad de la in&ormación almacenada, a !esar de las casistema o los intentos de acceso sin autori-ación) Si los daa ser com!artidos entre di+ersos usuarios, el sistema deb!osibles resultados anómalos)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 3/32
.unciones de un DB#S
§ Las &unciones /ue deben cum!lir los DB#S son0
§ Abstracción de los datos. Los DB#S a1orran a los usuardetalles acerca del almacenamiento &ísico de los datos) Dmismo si una base de datos ocu!a uno o cientos de arc1i1ec1o se 1ace trans!arente al usuario) Así, se de*nen +ani+eles de abstracción)
§ Independencia) 2onsiste en la ca!acidad de modi*car el
&ísico o ló"ico$ de una base de datos sin tener /ue reali-acambios en las a!licaciones /ue se sir+en de ella)
§ Consistencia) En a/uellos casos en los /ue no se 1a lo"raeliminar la redundancia, ser' necesario +i"ilar /ue a/uell/ue a!arecen re!etidos se actualice de &orma co1erente, /ue todos los datos re!etidos se actualicen de &orma simu
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 4/32
.unciones de un DB#S
§ Seguridad) Los datos almacenados en una base de datos !uede
tener un "ran +alor) Los DB#S deben "aranti-ar /ue estos datoencuentren se"uros &rente a usuarios malintencionados, /ue inleer datos !ri+ile"iados3 &rente a ata/ues /ue deseen mani!uladestruir los datos3 o sim!lemente ante las tor!e-as de al"4n usautori-ado !ero des!istado) Normalmente, los DB#S dis!onen com!le5o sistema de !ermisos a usuarios % "ru!os de usuarios!ermiten otor"ar di+ersas cate"orías de !ermisos
§ Integridad) Ado!tar las medidas necesarias !ara "aranti-ar la +los datos almacenados) Es decir, se trata de !rote"er los datos&allos de 1ard6are, datos introducidos !or usuarios descuidadocual/uier otra circunstancia ca!a- de corrom!er los datos almaLos DB#S !ro+een mecanismos !ara "aranti-ar la recu!eracióbase de datos 1asta un estado consistente conocido en &ormaautom'tica)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 5/32
.unciones de un DB#S
§ Respaldo) Los DB#S deben !ro!orcionar una &orma e*
de reali-ar co!ias de res!aldo de los datos almacenadrestaurar a !artir de estas co!ias los datos /ue se 1a%!odido !erder)
§ Control de la concurrencia) En la ma%oría de entornm's 1abitual es /ue sean muc1as las !ersonas /ue aa una base de datos, % es tambi7n &recuente /ue dic1accesos se realicen de &orma simult'nea) Así !ues, undebe controlar este acceso concurrente a la DB, /ue !deri+ar en inconsistencias)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 6/32
.unciones de un DB#S
§ Manejo de Transacciones. Una Transacción es un !ro
/ue se e5ecuta como una sola o!eración) Esto /uiere /ue el estado lue"o de una e5ecución en la /ue se !rouna &alla es el mismo /ue se obtendría si el !ro"rama1ubiera e5ecutado) Los DB#S !ro+een mecanismos !a!ro"ramar las modi*caciones de los datos de una &ormmuc1o m's sim!le /ue si no se dis!usiera de ellos)
§ Tiempo de respuesta) Ló"icamente, es deseable minel tiem!o /ue el DB#S tarda en darnos la in&ormaciónsolicitada % en almacenar los cambios reali-ados)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 7/32
.unciones de un DB#S
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 8/32
Len"ua5es de bases de Datos
§ Un sistema de bases de datos !ro!orciona0
§§ Un lenguaje de defnición de datos !ara es!eci*car el es/uem
base de datos , es decir, de*ne % describe los ob5etos de la basesu estructura, relaciones % restricciones)
§ Un lenguaje de manipulación de datos !ara e9!resar las consbase de datos % las modi*caciones)
§En la !r'ctica !uede consistir en un subcon5unto de instrucciones de otro in&orm'tico) Las a!licaciones /ue traba5an sobre la base de datos se !ro
un len"ua5e de !ro"ramación 2, Ja+a, etc)$ insertando en el códi"o &uesentencias del D#L) Al utili-ar un D#L se deben es!eci*car los datos /ua&ectados !or las sentencias del len"ua5e)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 9/32
Lenguaje de Defnición de Datos
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 10/32
Lenguaje de defnición de datos
§El len"ua5e de de*nición de datos !ermite0
§ De*nir % crear una nue+a tabla§ Su!rimir una tabla /ue %a no se necesita§ 2ambiar la de*nición de una tabla e9istente§ 2onstruir un índice !ara 1acer m's r'!ido el acce
una tabla§ 2ontrolar el almacenamiento &ísico de los datos !
del SGBD§
§
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 11/32
Len"ua5es de bases de Datos
§ :or e5em!lo, la si"uiente instrucción en el len"ua5e S;L de*ne la tabla c
create table cuenta
número-cuenta char<=$,
saldo integer$
§
§ La e5ecución de la instrucción LDD anterior crea la tabla cuenta) Adem'un con5unto es!ecial de tablas denominado diccionario de datos o dde datos)
§ Un diccionario de datos contiene metadatos, es decir, datos acerca datos) El es/uema de una tabla es un e5em!lo de metadatos) Un sistebase de datos consulta el diccionario de datos antes de leer o modi*cdatos reales)
§ Es!eci*camos el almacenamiento % los m7todos de acceso usados !or ede bases de datos !or un con5unto de instrucciones en un ti!o es!eciadenominado len"ua5e de almacenamiento defnición de datos) Einstrucciones de*nen los detalles de im!lementación de los es/uemasde datos, /ue se ocultan usualmente a los usuarios)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 12/32
Len"ua5es de bases de Datos
§ Los +alores de datos almacenados en la base de datos satis&acer ciertas restricciones de consistencia) :oe5em!lo, su!ón"ase /ue el saldo de una cuenta no de!or deba5o de ><===) El LDD !ro!orciona &acilidades !es!eci*car tales restricciones) Los sistemas de bases datos com!rueban estas restricciones cada +e- /ue sactuali-a la base de datos)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 13/32
Lenguaje de defnición de datos
§
§
§ DDL se encar"a de la modi*cación de la estructura de ob5etos de la base de datos) E9isten cuatro o!eracionb'sicas0 2?EATE, ALTE?, D?O: % T?UN2ATE)
§
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 14/32
Lenguaje de defnición de datos
§ CR!AT!
§ Este comando crea un ob5eto dentro de la base de datos) :uede ser u+ista, índice, tri""er, &unción, !rocedimiento o cual/uier otro ob5etomotor de la base de datos so!orte)
§ @ CR!AT! DATA"AS! @ De*ne una base de datos
§ @ CR!AT! SC#!MA @ De*ne una !orción de la base de datos /ue le !ertusuario en !articular)
§ @ CR!AT! TA"L! @ De*ne una tabla con sus columnas)
§ @ CR!AT! $I!% @ De*ne una tabla ló"ica de uno o m's views
§ Otras declaraciones de CR!AT!0 2A?A2TE? SET, 2OLLATION, T?ANSLATASSE?TION, DO#AIN
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 15/32
Lenguaje de defnición de datos
§Creación de una base de datos
§ La orden !ara crear una base de datos nue+a % +acía es0
2?EATE DATABASE nombrebdd
§ :odemos +er las bases de datos en nuestro ser+idor con la orden0
SOC DATABASES
§ Una +e- creada una base de datos, %a !odremos a"re"arle tablas)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 16/32
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 17/32
Lenguaje de defnición de datos
§E5em!lo§ 2?EATE TABLE nombretabla
§ atributo<ti!oDeDato<,
§ atributoti!oDeDato,
§ atributoti!oDeDato,
§ etc)$
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 18/32
Lenguaje de defnición de datos
§De*niciones de columnas§ NOT NULL0 esta columna debe tener un +alor, no !uede estar +acía)
§ DE.AULT +alue0 si no se indica nin"4n otro +alor, value se almacena en lacuando se crea la *la)
§ AUTOIN2?E#ENT0 con&orme se crean *las, el +alor de esta columna seincrementar' a !artir de la 4ltima *la /ue se a"re"ó)
§ UNSIGNED0 los +alores de esta columna nunca ser'n ne"ati+os)§ UNI;UE0 el +alor de es columna es 4nico !ara todas las *las de la tabla n
re!eticiones$)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 19/32
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 20/32
Ti!os de datos en S;L
Ti!o K 2A?§ Se utili-a !ara es!eci*car una cantidad de caracteres .
§ Su &ormato es 2A?n$ donde n tiene un m'9imo de Oracle H es de ===$
§ En caso de /ue el +alor sea menor /ue la cantidad de*nida, se reles!acios en blanco) consume memoria$
§ !jemplos0
§ @ 2A?$ K Un string de cinco caracteres)
§ @ 2A? K Es el default % sólo almacenaría un car'cter)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 21/32
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 22/32
Ti!os de datos en S;L
Ti!o K DATE§ Se utili-a !ara es!eci*car &ec1a % 1ora)
§ Almacena la &ec1a en &ormato ddKmmmK%% 110mm0ss)smmmK%%%% 110mm0ss)ss)
§ Se re/uiere /ue la &ec1a se es!eci*/ue entre comillassencillas)
§ !jemplos0
§ @ =HKmarK=P es +'lido si se "uardo en el atributo con este &ormat
§ @ =HKmarK==P K Tambi7n es +'lido)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 23/32
Ti!os de datos en S;L
Ti!o K BOOLEAN
§ Se utili-a !ara es!eci*car +alores cierto o &also)
§ :uede contener T?UE, .ALSE o NULL)
§ &ota0 En OracleKS;L no e9iste el ti!o de dato buleano)embar"o se !uede re!resentar con c1ar<$ o number
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 24/32
Lenguaje de defnición de datos
§ DR()
§ Este comando elimina un ob5eto de la base de datos) :una tabla, +ista, índice, tri""er, &unción, !rocedimientcual/uier otro ob5eto /ue el motor de la base de datoso!orte)
§
§ D?O: DATABASE nameBD<3§
§
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 25/32
Lenguaje de defnición de datos
§ ALT!R
§ Este comando !ermite modi*car la estructura de un ob!ueden a"re"ar Q /uitar cam!os a una tabla, modi*cade un cam!o, a"re"ar Q /uitar índices a una tabla, moun tri""er, etc)
§ Es decir, si des!u7s de crear la base de datos /ueremocambiar al"o de su de*nición !odríamos eliminarla c
D?O: DATABASE$ % lue"o crearla otra +e- con 2?EATDATABASE$, !ero si %a la 1emos rellenado con tablas ob5etos, esta solución no sería mu% !r'ctica)
§ :ara cambiar la de*nición de la base de datos una +e- tenemos /ue utili-ar la sentencia ALTE? DATABASE)
§
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 26/32
Lenguaje de defnición de datos
§ Agregar una columna a una tabla
ALTE? TABLE nametabADD namecolum datat%!e3
§ !liminar una columna de una tabla
ALTE? TABLE nametabD?O: 2OLU#N namecolum3
§ Cambiar el tipo dato de una columna
ALTE? TABLE nametab#ODI.R namecolum datat%!e3
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 27/32
Lenguaje de defnición de datos
§ TR*&CAT!
§ Este comando trunca todo el contenido de una tabla) La sobre el comando DELETE, es /ue si se /uiere borrar tocontenido de la tabla, es muc1o m's r'!ido, es!ecialmla tabla es mu% "rande, la des+enta5a es /ue T?UN2ATsir+e cuando se /uiere eliminar absolutamente todos lore"istros, %a /ue no se !ermite la cl'usula CE?E) Si bun !rinci!io, esta sentencia !arecería ser D#L Len"ua
#ani!ulación de Datos$, es en realidad una DDL, %a /uinternamente, el comando truncate borra la tabla % la +crear % no e5ecuta nin"una transacción)
§
§ T?UN2ATE TABLE tablename3
§
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 28/32
Lenguaje de defnición de datos
§ C(&STRAI&T
§ Sir+e !ara es!eci*car restricciones o condiciones a losatributos)
§ Nos !ermite es!eci*car los primary keys :$)
§ Tambi7n !ermite es!eci*car los foreign keys)
§ A cada 2ONST?AINT se le identi*ca con un nombre el cdebe ser alusi+o a su &unción o !ro!ósito)
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 29/32
Lenguaje de defnición de datos
§ C(&STRAI&T + )RIMAR, -!,
§ Se !uede declarar en &orma directa al declarar el atribumedio del constraint)
§ EJE#:LOS0
§
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 30/32
Lenguaje de defnición de datos
§ C(&STRAI&T + )RIMAR, -!,cont./
§ :ara de*nir un :rimar% e% com!uesto dos atributos ose declara el constraint de la si"uiente &orma0
§ EJE#:LOS0
§
§
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 31/32
Lenguaje de defnición de datos
§ C(&STRAI&T + 0(R!I1& -!,
§ Se !uede declarar en &orma directa al declarar el atribumedio del constraint )
§ EJE#:LOK<0
§
8/16/2019 01 Lenguajes de Definicion de Datos (1)
http://slidepdf.com/reader/full/01-lenguajes-de-definicion-de-datos-1 32/32
Lenguaje de defnición de datos
§ Declaración !or medio del constraint )
§ EJE#:LOK0