11
PROGRAMACION EN SQL TUTOR EUGENIS ALFONSO YANEZ ESTUDIANTE LEDALIZ QUIROZ GARCIA UNIVERSIDAD DE CARTAGENA FACULTAD DE INGENIERIA DE SISTEMAS VIII SEMESTRE SEDE - LORICA 2015

PROGRAMACIÓN EN SQL.pdf

Embed Size (px)

Citation preview

  • PROGRAMACION EN SQL

    TUTOR

    EUGENIS ALFONSO YANEZ

    ESTUDIANTE

    LEDALIZ QUIROZ GARCIA

    UNIVERSIDAD DE CARTAGENA

    FACULTAD DE INGENIERIA DE SISTEMAS

    VIII SEMESTRE

    SEDE - LORICA

    2015

  • INTRODUCCIN

    ANSI SQL ah sufrido diversas modificaciones a lo largo del tiempo, obteniendo

    aportaciones a sus diferentes versiones, en el siguiente documento se muestran las

    distintas caractersticas que se han agregado, as como las que han desaparecido, ya que

    se incluyeron nuevas y mejores, para tener los resultados deseados de una manera ms

    fcil.

    Entre las muchas caractersticas con las que cuentan ANSI SQL se pueden clasificar de

    acuerdo a su modo de utilizacin el cual tiene divisiones tales como SQL interactivo donde

    ocurre una ejecucin directa, modos SQL-cliente aqu se muestran procedimientos

    almacenados, entre otros modos que nos pueden ayudar a utilizar el SQL prcticamente.

    ANSI SQL cuenta con una variada gama de elementos los cuales nos permiten realizar las

    ordenes SQL, abarcando palabras predefinidas, nombre de los objetos, constantes,

    delimitadores, operadores, datos nulos, entre otros, pudiendo nosotros como

    administradores tener una sintaxis donde se entienda de manera clara y concisa lo que

    necesita obtener de la base de datos.

    Adems de contar con las caractersticas mencionadas anteriormente, ANSI SQL soporta

    una amplia variedad de datos, ya sea de tipo carcter, numrica o cadena de caracteres

    por mencionar algunos, esto nos permite poder ingresar un mayor nmero de datos, de

    diferente tipo.

    ANSI SQL tiene un grupo de subconjuntos SQL con los que podemos trabajar de acuerdo a

    las necesidades que tengamos, se pueden desglosar de la siguiente manera, encontrando

    DQL (lenguaje de consulta de datos), DML (lenguaje de manipulacin de datos), DDL

    (lenguaje de definicin de datos), DCL (lenguaje de control de datos), entre otros.

    A continuacin se detallaran las caractersticas mencionadas anteriormente, y tambin se

    efectuara una actualizacin de los datos aqu mencionados, aportando nuevas

    caractersticas y mejoras que se han incluido en ANSI SQL de nuevas versiones.

  • Identifique y Defina la Historia del SQL en las bases de Datos?

    Los orgenes del SQL estn ligados a los de las bases de datos relacionales. En 1970 E. F.

    Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos

    basado en el clculo de predicados. Basndose en estas ideas, los laboratorios de IBM

    definen el lenguaje SEQUEL (Structured English QUEry Language) que ms tarde sera

    ampliamente implementado por el SGBD (Sistemas Gestores de Bases de Datos)

    experimental System R, desarrollado en 1977 tambin por IBM. Sin embargo, fue Oracle

    quien lo introdujo por primera vez en 1979 en un programa comercial.

    El SEQUEL terminara siendo el predecesor de SQL, siendo ste una versin evolucionada

    del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos SGBD relacionales

    surgidos en los aos siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar

    a la primera versin estndar de este lenguaje, el "SQL-86" o "SQL1". Al ao siguiente este

    estndar es tambin adoptado por la ISO.

    En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de IBM) como

    estndar para los lenguajes relacionales y en 1987 se transform en estndar ISO. Esta

    versin del estndar va con el nombre de SQL/86. En los aos siguientes, ste ha sufrido

    diversas revisiones que han conducido primero a la versin SQL/89 y, posteriormente, a la

    actual SQL/92.

    El hecho de tener un estndar definido por un lenguaje para bases de datos relacionales

    abre potencialmente el camino a la inter comunicabilidad entre todos los productos que

    se basan en l. Desde el punto de vista prctico, por desgracia las cosas fueron de otro

    modo. Efectivamente, en general cada productor adopta e implementa en la propia base

    de datos slo el corazn del lenguaje SQL (el as llamado Entry level o al mximo el

    Intermediate level), extendindolo de manera individual segn la propia visin que cada

    cual tenga del mundo de las bases de datos.

  • Actualmente, est en marcha un proceso de revisin del lenguaje por parte de los comits

    ANSI e ISO, que debera terminar en la definicin de lo que en este momento se conoce

    como SQL3. Las caractersticas principales de esta nueva encarnacin de SQL deberan ser

    su transformacin en un lenguaje stand-alone (mientras ahora se usa como lenguaje

    hospedado en otros lenguajes) y la introduccin de nuevos tipos de datos ms complejos

    que permitan, por ejemplo, el tratamiento de datos multimediales.

    Que es SQL?

    SQL, es el lenguaje estndar para trabajar con base de datos relacionales y es soportado por

    diversos manejadores de bases de datos relacionales.

    Puede admitirse como su definicin: es un lenguaje de base de datos normalizado, que

    utilizan los diferentes motores de bases de datos para efectuar determinadas operaciones

    sobre los datos o sobre su estructura. Tambin puede darse como su concepto: lenguaje

    estndar de comunicacin con bases de datos. Tratndose de esta manera de un lenguaje

    normalizado que permite que se trabaje con todo tipo de lenguaje (ASP o PHP) en

    combinacin con todo tipo de base de datos (MS Access, SQL Server, MySQL, etc.

    Identifique la evolucin de las versiones del SQL?

    A continuacin se mostrara una breve historia de las versiones que han venido

    construyendo ANSI SQL a lo largo de su historia.

    SQL-89

    En 1986, el ANSI adopto SQL (sustancialmente adopto el dialecto SQL de IBM) como

    estndar para los lenguajes relacionales y en 1987 se transform en el estndar ISO. Esta

    versin estndar tena el nombre de SQL-86. En 1989 ANSI defini SQL-89 basada en la

    anterior pero con una serie de mejoras entre las que destacan:

    Definicin de clave primarias

    Integridad de datos

  • Una caracterstica importante de esta versin era la posibilidad de utilizarse a travs de

    dos interfaces, de manera interactiva y por medio de programas de aplicacin.

    En la primera versin de SQL-89 se tienen tres partes esenciales:

    Lenguaje de Definicin de Datos DDL

    Contiene todas las instrucciones para definir el esquema de una base de datos, como son

    CREATE (para la creacin de tablas), ALTER (sirve para modificar los datos o las tablas) y

    DROP (para eliminar las tablas o registros de una BD).

    Lenguaje de Manipulacin de Datos DML

    Contiene las instrucciones de manejo de tablas como son:

    insert (insertar nuevos registros dentro de la BD)

    select (mostrar los datos requeridos dentro de una BD)

    update (modifica los datos dentro de una base de datos)

    delete (borra de manera total o parcial los datos)

    Tambin contiene instrucciones como commit y rollback para el control de concurrencia

    de los datos.

    Lenguaje de Control de Datos DCL

    Contiene aquellas instrucciones para dar y revocar y permisos de acceso a los datos de la

    base de datos, como GRANT para otorgar permisos a los administradores y REVOKE para

    quitar dichos permisos.

    Todas estas instrucciones pueden ir embebidas en programas escritos en diferentes

    lenguajes de programacin tales como: COBOL, FORTRAN, PASCAL t PL/1.

  • Para completar la sentencia es necesaria una clausula, la cual especifica los datos sobre los

    que debe actuar la sentencia, o proporcionar mas detalles acerca de lo que la sentencia

    debe hacer. Todas las clausulas comienzan con palabras clave como: WHERE, FROM, INTO

    y HAVING.

    SQL-92

    SQL adems de permitirnos consultas en la base de datos, contiene primitivas de

    definicin de tablas, actualizacin de la base de datos, definicin de vistas de

    otorgamiento de privilegios, etc. A continuacin se muestran algunos aspectos del

    estndar ANSI-SQL92.

    Definicin de esquemas

    La definicin de un esquema es simple. Solo se necesita identificar el comienzo de la

    definicin con una instruccin CREATE SCHEMA y una clausula adicional de

    AUTHORIZATION y a continuacin definir cada dominio, tabla, vista, etc., en el esquema.

    El dueo o propietario del esquema puede otorgar privilegios de acceso y actualizacin de

    la base de datos definida en el esquema a otros usuarios.

    Identifique y defina las ventajas de utilizar SQL en las bases de datos?

    Es un Sistema de Gestin de Bases de Datos Relacionales (SGBDR).

    Puede ser til para manejar y/o obtener datos de la red de redes.

    Ofrece una potente forma de unir SQL e Internet.

    Utiliza una extensin al SQL estandar, que se denomina Transact SQL.

    El Transact SQL, soporta la definicin, modificacin y eliminacin de bases de

    datos, tablas, atributos, ndices, etc., es decir, el lenguaje de definicin de datos

    (LDD), as como la consulta, actualizacin y borrado de tuplas de tablas, es decir, el

    lenguaje de manipulacin de datos (LMD).

  • Para empezar SQL Server nos permite olvidarnos un poco de los ficheros que

    forman la base de datos. En Access tenemos que abrir el fichero .mdb para ver el

    contenido. Aqu abrimos la consola de SQL Server y tenemos todas las bases de

    datos de todos nuestros programas. Esto es muy cmodo, ciertamente.

    Si trabajamos en una red local nos permite agregar otros servidores de SQL Server.

    por ejemplo: yo tengo en mi ordenador una base de datos en mi servidor SQL y mi

    compaero tiene en su servidor otra base de datos. Yo puedo conectar mi SQL al

    suyo y as tengo sus bases de datos en mi SQL Server. Esto, tambin es muy

    cmodo.

    Seguridad: SQL permite administrar permisos a TODO. Permisos a nivel de

    servidor, seguridad en tablas, permitir o no lectura, escritura, ejecucin; seguridad en los

    procedimientos almacenados (despus hablo de ellos)... todo se puede configurar. O sea,

    que podemos permitir que alguien conecte su SQL al nuestro pero sin embargo podemos

    decirle que no puede ver esta base de datos pero otra s.

    Identifique al menos 10 caractersticas de qu se puede hacer con SQL?

    Compatibilidad con la mayora de las tareas administrativas de SQL Server.

    Un entorno nico integrado para la administracin del Motor de base de datos de

    SQL Server y la creacin.

    Cuadros de dilogo para administrar objetos de Motor de base de datos de SQL

    Server, Analysis Services y Reporting Services, lo que permite ejecutar las acciones

    inmediatamente, enviarlas a un editor de cdigo o escribirlas en script para

    ejecutarlas posteriormente.

    Cuadros de dilogo no modales y de tamao variable que permiten obtener acceso

    a varias herramientas mientras un cuadro de dilogo est abierto.

    Un cuadro de dilogo comn de programacin que permite realizar acciones de los

    cuadros de dilogo de administracin en otro momento.

    Exportacin e importacin del registro de servidor de SQL Server Management

    Studio desde un entorno de Management Studio a otro.

  • Guardado o impresin de archivos de plan de presentacin XML o de interbloqueo

    generados por SQL Server Profiler, revisin posterior o envo a los administradores

    para su anlisis.

    Un nuevo cuadro de mensaje de error e informativo que presenta mucha ms

    informacin, permite enviar a Microsoft un comentario sobre los mensajes, copiar

    mensajes en el Portapapeles y enviar fcilmente los mensajes por correo

    electrnico al equipo de soporte.

    Un explorador web integrado para una rpida exploracin de MSDN o la Ayuda en

    pantalla.

    Integracin de la Ayuda de comunidades en lnea.

    Un tutorial sobre SQL Server Management Studio para ayudarle a aprovechar las

    ventajas de las numerosas caractersticas nuevas y a que sea ms productivo de

    forma inmediata.

    Un nuevo monitor de actividad con filtro y actualizacin automtica.

    Interfaces de Correo electrnico de base de datos integradas.

    Identifique y defina el concepto y funcionalidad los atributos y entidades en las bases de Datos?

    Entidad

    Las entidades representan cosas u objetos (ya sean reales o abstractos), que se

    diferencian claramente entre s.

    Para poder seguir un ejemplo durante el artculo aadir ejemplos sobre un taller

    mecnico, donde se podra crear las siguientes entidades:

    Coches (objeto fsico): contiene la informacin de cada taller.

    Empleado (objeto fsico): informacin de los trabajadores.

    Cargo del empleado (cosa abstracta): informacin de la funcin del empleado.

  • Estas entidades se representan en un diagrama con un rectngulo, como los siguientes.

    Atributos

    Los atributos definen o identifican las caractersticas de entidad (es el contenido de esta

    entidad). Cada entidad contiene distintos atributos, que dan informacin sobre esta

    entidad. Estos atributos pueden ser de distintos tipos (numricos, texto, fecha).

    Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra entidad

    Coches, que nos darn informacin sobre los coches de nuestro supuesto taller.

    Unos posibles atributos seran los siguientes: nmero de chasis, matrcula, DNI del

    propietario, marca,modelo y muchos otros que complementen la informacin de cada

    coche.

    Los atributos se representan como crculos que descienden de una entidad, y no es

    necesario representarlos todos, sino los ms significativos, como a continuacin.

  • En un modelo relacional (ya implementado en una base de datos) una ejemplo de tabla

    dentro de una BBDD podra ser el siguiente.

    Nmero de chasis Matrcula DNI del propietario

    5tfem5f10ax007210 4817 BFK 45338600L

    6hsen2j98as001982 8810 CLM 02405068K

    5rgsb7a19js001982 0019 GGL 40588860J

    Este ejemplo es con tres atributos, pero un coche podra tener cientos (si fuese necesario)

    y seguiran la misma estructura de columnas, tras implementarlo en una BBDD.

    Identifique y defina el concepto de Modelo Relacional?

    Como ya he comentado este modelo es solo y exclusivamente un mtodo del que

    disponemos para disear estos esquemas que posteriormente debemos de implementar

    en un gestor de BBDD (bases de datos). Este modelo se representa a travs de diagramas

    y est formado por varios elementos.

    Este modelo habitualmente, adems de disponer de un diagrama que ayuda a entender

    los datos y como se relacionan entre ellos, debe de ser completado con un pequeo

    resumen con la lista de los atributos y las relaciones de cada elemento.

  • CONCLUSIN

    Como vimos en este apartado, el lenguaje de consulta estructurado de ANSI nos permite

    manejar nuestra base de datos de manera rpida y confiable, con la seguridad de recibir

    los informes tal y como sean requeridos por los usuarios.

    Con la ayuda de los sublenguajes que contienen las distintas versiones se nos hace ms

    practico el uso de esta herramienta. El uso de los comandos DML, conforman la base para

    una preparacin adecuada, en la construccin de aplicaciones con BD. Las aplicaciones

    manejan comandos de insert, delete, update y select, contra la base de datos.

    Con lo anteriormente mencionado, podemos darnos cuenta que aun pasando los aos

    este lenguaje es y seguir siendo una ayuda incomparable para el manejo de la base de

    datos, y tambin podemos decir que aunque s, ha tenido diversas variaciones a lo largo

    de los aos, todas han sido para mejorar el rendimiento del mismo.