BASE DE DATOS. OBJ 7.docx

Embed Size (px)

Citation preview

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    1/17

    REPÚBLICA BOLIVARIANA DE VENEZUELA

    MINISTERIO DEL PODER POPULAR PARA LA DEFENSA

    UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA

    FUERZA ARMADA NACIONAL BOLIVARIANA.

    NÚCLEO YARACUY- EXTENCIÓN NIRGUA

    El leng!"e S#L $e l!%B!%e% $e D!&'%

    Rel!()'n!le%

    FACILITADOR* EMPRENDENDOR*

    ING. EDGARDO MOLINALUZMARY RODRIGUEZ

    BASE DE DATOS. +&' ING.SISTEMA

    M!,' /01

     

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    2/17

     

    Leng!"e $e De2n)()3n De D!&'% DDL

    El DDL (Data Defnition Language, o Data Description Language segúnautores), es la parte del SQL dedicada a la defnición de la base de datos,consta de sentencias para defnir la estructura de la base de datos. Por estemotivo estas sentencias sern utili!adas normalmente por el administradorde la base de datos.

    La defnición estructurada de la base de datos inclu"e tanto la creacióninicial de los di#erentes ob$etos %ue #ormaran la base de datos, como elmantenimiento de esa estructura. Las sentencias de DDL utili!an nos verbos%ue se repiten para los distintos ob$etos. Por e$emplo para crear un ob$etonuevo el verbo ser &'EE " a continuación el tipo de ob$eto a crear.&'EE D*SE es la sentencia para crear de datos, &'EE *LE nospermite crear una tabla, &'EE +DE- crear un nuevo ndice/ Paraeliminar un ob$eto utili!aremos el verbo D'0P (D'0P *LE, D'0P+DE-/)1 para modifcar algo de la defnición de un ob$eto "a creadoutili!amos el verbo LE' (LE' *LE, LE' +DE-/).

    Los ob$etos %ue veremos en este tema son2

     3*ase de Datos3ablas

    34istas

    35ndices

    &omo "a 6emos comentado, las sentencias de DDL estn ms orientadas aladministrador de la base de datos ,es el %ue ms las va a utili!ar, elprogramador tiene %ue conocer cuestiones relativas a la estructura internade una base de datos, pero no tiene %ue ser e7perto en ello por lo %ue el

    estudio del tema se centrara en las sentencias " sobre todo en las clausulas%ue pensamos pueden ser útiles a un programador " no entraremos enmuc6o detalle en cueto a la estructura #sica de la base de datos " en laadministración de la misma8

     

    E%&4(&4! In&e4n!

    &omo "a vimos el en el primer tema, las bases de datos de SQL Server9::; utili!an tres tipos de arc6ivos2

    • rc6ivos de datos principales (.md#)2 rc6ivo re%uerido.

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    3/17

    • rc6ivos de datos secundarios (.nd#)2 rc6ivo opcional.• rc6ivos de registro (.+d#)2 rc6ivo re%uerido.

     1 se deben situar en sistemas de arc6ivos

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    4/17

      -I!ENAME = 'nbfichero_fisico' 

    [ , SIE = tamaño [ /B 0 MB 0 "B 0 TB ] ]

    [ , MA1SIE = # max_size [ /B 0 MB 0 "B 0 TB ] 0 2N!IMITED $

    ]

    [ , -I!E"RO%T& = incremento_crecimiento [ /B 0 MB 0 "B 0 TB0 3 ]

    nbfc6ero lógico es el nombre %ue se utili!a para 6acer re#erencia al arc6ivoen todas las instrucciones ransact8SQL . El nombre de arc6ivo lógico tiene%ue cumplir las reglas de los identifcadores de SQL Server " tiene %ue serúnico entre los nombres de arc6ivos lógicos de la base de datos.

    nbfc6ero=fsico es el nombre del arc6ivo #sico %ue inclu"e la ruta de accesoal directorio.Debe seguir las reglas para nombres de arc6ivos del sistemaoperativo.

    &on la clausula S+>E indicamos el tama?o original del arc6ivo.los arc6ivos deSQL Server 9::; pueden crecer automticamente a partir del tama?ooriginalmente especifcado. &on

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    5/17

    Columnas se produce un error y el registro no se a*ade.

    En la segunda sentencia no 'emos introducido las columnas en las &ue vamos a incluir losdatos%

    ya &ue si vamos a a*adir valores para todas las columnas de un registro% no es necesarioindicar

    las columnas.

    4bserva &ue los valores de cadena se introducen con comilla simple y no dobles.

    ebes recordar &ue si una columna es autoincrementar no debemos especificar el valor a&uí

    3ampoco.

    Si todo 'a ido correctamente% SQL Server nos indica el número de columnas &ue se 'anvisto.

      LENGUA7E DE MANIPULACION DE DATOS DML

      Lengua0e de +anipulación de atos 6Data Manipulation Language% +L7 es un lengua0e

    proporcionado por los sistemas gestores de bases de datos &ue permite a los usuarios de la

    misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las ;asesde atos del Sistema

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    6/17

    In%e4&

    La estructura b#sica para la sentencia insert utili(ando el est#ndar de SQL es la siguiente:

     Insert into usuario 6nombre% apellidos% edad% carrera7 values 6@+artín@% @;astida

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    7/17

    update usuarios set claveB2eal+adridB?

    9tili(amos "update" 0unto al nombre de la tabla y "set" 0unto con el campo a modificar y su

    nuevo valor.

    El cambio afectar# a todos los registros.

    Podemos modificar algunos registros% para ello debemos establecer condiciones de selección

    con "where".

    Por e0emplo% &ueremos cambiar el valor correspondiente a la clave de nuestro usuario llamado

    B+artínB% &ueremos como nueva clave B;ocaB% necesitamos una condición "where" &ue afecte

    solamente a este registro:

    update s*rios set c+*4e56Boc*6

      where )o78re56M*r(9)6,

    Si no encuentra registros &ue cumplan con la condición del @D'ere@% ningún registro es

    afectado.

    Las condiciones no son obligatorias% pero si omitimos la cl#usula @D'ere@% la actuali(aciónafectar# a todos los registros.

    3ambi)n se puede actuali(ar varios campos en una sola instrucción:

    update usuario set nombreB+arcelouarteB% claveB+arceB

     where nombreB+arceloB?

    Para ello colocamos "update"% el nombre de la tabla% @set@ 0unto al nombre del campo y elnuevo valor y separado por coma% el otro nombre del campo con su nuevo valor.

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    8/17

      S#L

    SQL 6por sus siglas en ingl)s Structured Query Language7 es un lengua0e declarativo deacceso a bases de datos relacionales &ue permite especificar diversos tipos de operaciones en

    ellas. 9na de sus características es el mane0o del #lgebra y el c#lculo relacional &ue permitenefectuar consultas con el fin de recuperar% de forma sencilla% información de bases de datos% asícomo 'acer cambios en ellas.

    Los orígenes de SQL est#n ligados a los de las bases de datos relacionales. En FG E. H.

    Codd propone el modelo relacional y asociado a este un sublengua0e de acceso a

    los datos basado en el c#lculo de predicados. ;as#ndose en estas ideas% los laboratorios

    de ;+ definieron el lengua0e SEQ9EL 6Structured Englis' Query Language7 &ue m#s tarde fue

    ampliamente implementado por el sistema de gestión de bases de datos 6S

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    9/17

    En la actualidad SQL es el est#ndar de facto de la inmensa mayoría de los S% aun&ue la diversidad de a*adidos particulares &ue incluyen las distintas implementaciones

    comerciales del lengua0e es amplia% el soporte al est#ndar SQLJ! es general y muy amplio.

    El ,1S SQL sufrió varias revisiones y agregados a lo largo del tiempo

    Ao Nom!re Alias omentarios

    "I SQLJ"I SQLJ"F Primera publicación 'ec'a por ,1S. Confirmada por S4 en "F.

    " SQLJ" 2evisión menor.

    ! SQLJ! SQL! 2evisión mayor.

    SQL: SQL!GGG Se agregaron e$presiones regulares% consultas recursivas 6para

    relaciones 0er#r&uicas7% triggers y algunas características orientadas

    a ob0etos.

    !GGA SQL:!GGA ntroduce algunas características de -+L% cambios en las funciones%

    estandari(ación del ob0eto se&uence y de las columnas

    autonum)ricas.

    !GGK SQL:!GGK S4=EC GFKJ:!GGK efine las maneras en las cuales SQL se

    puede utili(ar con0untamente con -+L. efine maneras de importar

    y guardar datos -+L en una base de datos SQL% manipul#ndolos

    dentro de la base de datos y publicando el -+L y los datos SQL

    convencionales en forma -+L. ,dem#s% proporciona facilidades &ue

    permiten a las aplicaciones integrar dentro de su código SQL el uso

    de -Query% lengua0e de consulta -+L publicado por el MAC 6Morld

    Mide Meb Consortium7 para acceso concurrente a datos ordinarios

    SQL y documentos -+L.

    !GG" SQL:!GG" Permite el uso de la cl#usula 42E2 ;> fuera de las definiciones

    de los cursores. ncluye los disparadores del tipo 1S3E, 4H. ,*ade la sentencia 3291C,3E

    SQL es un lengua0e de acceso a bases de datos &ue e$plota la fle$ibilidad y potencia de lossistemas relacionales y permite así gran variedad de operaciones.

    https://es.wikipedia.org/wiki/SQL#cite_note-SQL-Fundamentals-4https://es.wikipedia.org/wiki/SQL#cite_note-SQL-Fundamentals-4

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    10/17

    Es un lengua0e declarativo de @alto nivel@ o @de no procedimiento@ &ue% gracias a su fuerte base

    teórica y su orientación al mane0o de con0untos de registros Ny no a registros individualesN

    permite una alta productividad en codificación y la orientación a ob0etos. e esta forma% una

    sola sentencia puede e&uivaler a uno o m#s programas &ue se utili(arían en un lengua0e de

    ba0o nivel orientado a registros. SQL tambi)n tiene las siguientes características:

    • Len#ua$e de definici%n de datos: El L de SQL proporciona comandos para la

    definición de es&uemas de relación% borrado de relaciones y modificaciones de los

    es&uemas de relación.

    • Len#ua$e interactivo de manipulaci%n de datos: El L+ de SQL incluye lengua0es

    de consultas basado tanto en #lgebra relacional como en c#lculo relacional de tuplas.

    • Inte#ridad: El L de SQL incluye comandos para especificar las restricciones de

    integridad &ue deben cumplir los datos almacenados en la base de datos.

    • Definici%n de vistas: El L incluye comandos para definir las vistas.

    • ontrol de transacciones: SQL tiene comandos para especificar el comien(o y el final

    de una transacción.

    • SQL incorporado & din'mico: Esto &uiere decir &ue se pueden incorporar

    instrucciones de SQL en lengua0es de programación como: COO% C% ava% PP% Cobol%

    Pascal y Hortran.

    • Autori(aci%n: El L incluye comandos para especificar los derec'os de acceso a las

    relaciones y a las vistas.

    3ipos de atos

     ,lgunos de los tipos de datos b#sicos de SQL son:

    • )archar : 2ecibe cadena de palabras compuestas de letras% números y caracteres

    especiales.

    • Date: una fec'a de calendario &ue contiene el a*o 6de cuatro cifras7% el mes y el día.

    • *ime: La 'ora del día en 'oras minutos segundos 6el valor predeterminado es G7.

    • Datetime: la combinación de ate y 3ime.

    4ptimi(aciónR

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    11/17

    Como ya se di0o antes% y suele ser común en los lengua0es de acceso a bases de datos de alto

    nivel% SQL es un lengua0e declarativo. 4 sea% &ue especifica &u) es lo &ue se &uiere y no cómo

    conseguirlo% por lo &ue una sentencia no establece e$plícitamente un orden de e0ecución.

    El orden de e0ecución interno de una sentencia puede afectar seriamente a la eficiencia delS

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    12/17

    E$iste una ampliación de SQL conocida como HSQL 6Hu((y SQL% SQL difuso7 &ue permite el

    acceso a bases de datos difusas% usando la lógica difusa. Este lengua0e 'a sido implementado

    a nivel e$perimental y est# evolucionando r#pidamente.

     

    E864e%)'ne% $e ('n%l&! en S#L

      9na e$presión de consulta combina muc'os operadores de consulta diferentes en unasinta$is única. Entity SQL proporciona varios tipos de e$presiones% incluidos lossiguientes: literales% par#metros% variables% operadores% funciones% operadores de con0untos%etc. Para obtener m#s información% consulta 2eferencia de Entity SQL.

    Cl9%l!%

    9na e$presión de consulta se compone de una serie de cl#usulas &ue aplican operacionessucesivas a una colección de ob0etos. Se basan en las mismas cl#usulas &ue se encuentran en

    http://void%280%29/http://void%280%29/

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    13/17

    una instrucción SELEC3 est#ndar de SQL: SELEC3% H24+% ME2E% % ,81< y42E2 ;>.

     mbito

    Los nombres &ue se definen en la cl#usula H24+ se incluyen en el #mbito de H24+ en ordende aparición% de i(&uierda a derec'a. En la lista de 41% las e$presiones pueden 'acerreferencia a los nombres &ue se definieron en la lista anteriormente. Las propiedades públicasde los elementos identificados en la cl#usula H24+ no se agregan al #mbito de H24+.Siempre se debe 'acer referencia a ellas mediante el nombre completo del alias. 1ormalmente%todas las partes de la e$presión SELEC3 se consideran dentro del #mbito de H24+.

    http://void%280%29/http://void%280%29/

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    14/17

      E7EMPLOS Y E7ERCICIO GEOMETRIA DEL S#L

     

    El tipo de datos espacial plano #eometr& representa los datos en un sistema de coordenadaseuclidiano 6plano7. mplementan este tipo como un tipo de datos en SQL Server de CommonLanguage 2untime 6CL27.

    El tipo #eometr& est# predefinido y est# disponible en cada base de datos. Puede crearcolumnas de tabla de tipo #eometr& y operar con los datos #eometr& de la misma manera &uecon los dem#s tipos CL2.

    El tipo de datos #eometr& 6plano7 admitido por SQL Server cumple con las característicassimples de

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    15/17

    1ótese &ue todavía no se 'a agregado el campo de geometría% est#n únicamente los camposalfanum)ricos. Para agregar el campo de geometría utili(amos una funcion de Post

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    16/17

    En donde la tabla se publicar# en el es&uema public% se utili(ar# el S2 A!I y el número dedimensiones es ! ya &ue solo se utili(ar# el plano cartesiano -% >. En la parte de resultadopodemos ver &ue ya se 'a agregado a nuestra tabla el campo geometría. Se 'ace de estaforma ya &ue al utili(ar la función% autom#ticamente se registran estos datos en la tabladenominada Tgeometry5columnsU donde se pueden consultar las tablas con informacióngeogr#fica para consultar con algún

  • 8/17/2019 BASE DE DATOS. OBJ 7.docx

    17/17

    Por último podremos ver un e0emplo en script de como &uedó la estructura de la tablageogr#fica.