Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad Iv PDF
Unidad Iv PDF
UNIDAD 4
INTRODUCCIÓN A SQL
¿Qué es el SQL?
74 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Lección 9
Conceptos relacionados a SQL
9.1 Definición
El SQL (Structured Query Language) es el lenguaje más usado para bases de datos
relacionales, es un lenguaje declarativo de alto nivel, desarrollado por IBM (1974-1977). Se
convirtió en un standard definido por: ANSI (American National Standards Institute) e ISO
(International Standards Organization).
SQL está compuesto por lenguajes para: Definición de Datos o DDL (Data Definition Language),
Manipulación o DML (Data Manipulation Language), y Control o DCL (Data Control Language).
ALTER TABLE
Evolución de esquema DROP VIEW DROP INDEX
DROP TABLE
Una vista es como una ventana a través de la cual se puede consultar o cambiar información
de la tabla a la que está asociada. Las vistas tienen la misma estructura que una tabla: filas y
columnas. La única diferencia es que sólo se almacena de ellas la definición, no los datos. Los
datos que se recuperan mediante una consulta a una vista se presentarán igual que los de una
tabla. De hecho, si no se sabe que se está trabajando con una vista, nada hace suponer que es
así. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos
en una vista. Aunque siempre es posible seleccionar datos de una vista, en algunas condiciones
existen restricciones para realizar el resto de las operaciones sobre vistas.
Las vistas pueden proporcionar un nivel adicional de seguridad. Por ejemplo, en la tabla de
empleados, cada responsable de departamento sólo tendrá acceso a la información de sus
empleados.
Las vistas permiten ocultar la complejidad de los datos. Una BD se compone de muchas tablas.
La información de dos o más tablas puede recuperarse utilizando una combinación de dos o
más tablas, y estas combinaciones pueden llegar a ser muy confusas. Creando una vista como
resultado de la combinación se puede ocultar la complejidad al usuario. Las vistas ayudan a
mantener unos nombres razonables.
Los índices nos ayudan a obtener datos de las tablas en forma más rápida. Utilicemos un
ejemplo para ilustrar este punto: Digamos que estamos interesados en leer en un libro de
jardinería acerca de cómo cultivar pimientos. En vez de leer el libro desde el comienzo hasta
75 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
que encontremos una sección sobre pimientos, es mucho más rápido para nosotros ir a la
sección índice al final del libro, ubicar qué páginas contienen la información sobre pimientos, y
luego dirigirnos a esas páginas directamente. Al dirigirnos al índice primero ahorramos tiempo
y seguramente es el método más eficiente para ubicar la información que necesitamos.
El mismo principio se aplica para la obtención de datos desde una tabla de base de datos. Sin
un índice, el sistema de base de datos lee a través de toda la tabla (este proceso se denomina
“escaneo de tabla”) para localizar la información deseada. Con el índice correcto en su lugar, el
sistema de base de datos puede entonces primero dirigirse al índice para encontrar de dónde
obtener los datos, y luego dirigirse a dichas ubicaciones para obtener los datos necesarios.
Esto es mucho más rápido.
Actualizaciones
INSERT INTO ,,,
Altas
DELETE FROM …
Bajas
UPDATE ..
Cambios
Consultas SELECT
COMMIT
Recuperación y Control de concurrencias
ROLLBACK ..
GRANT
Seguridad y Protección
REVOKE
76 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Lección 10
Sentencias DDL
10.1 CREATE
Esta instrucción crea un objeto dentro de la base de datos. Puede ser una base de datos Tabla,
vista, índice, trigger, función, procedimiento o cualquier otro objeto que el motor de la base de
datos soporte.
77 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Ejemplo 2: Crear una vista que muestre solo los nombres de los clientes de todos los clientes
que tienen una cuenta que no se encuentre en la sucursal “San Felipe”.
SELECT nombre_cliente
FROM v_clientes1
Importante: Otro uso habitual de las vistas es restringir el acceso de un usuario a sólo ciertas
columnas de una Tabla.
78 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Nota: Todos los parámetros empiezan con @, en nuestro ejemplo identificamos un parámetro
de entrada @nombre seguido del tipo de dato .Para ejecutar este procedimiento. Ejecutamos
el procedimiento
EXECUTE liste_cliente ‘Hansen’
Dara como resultado mostrar los atributos del cliente Hansen
EJEMPLO 2: Crear un procedimiento que muestre el nombre del cliente y su respectivo saldo
dentro de un rango de saldos de deposito
CREATE PROCEDURE selecciona_saldos
@min as numeric (18), @max as numeric (18)
as
Select nombre_cliente ,saldo FROM deposito
where saldo > @min and saldo< @max
Nota: Tenemos 2 parámetros de entrada @min y @max dimensionadas con su tipo de dato.
Ejecutamos el procedimiento
EXECUTE selecciona_saldos 350, 900
Dara como resultado mostrar los saldos de depósito entre 350 y 900 con sus respectivos
nombre de cliente.
10.2 ALTER
Esta instrucción permite modificar la estructura de un objeto. Se pueden modificar las tablas y
agregar o cambiar la definición de los campos, agregar, quitar índices a una tabla, modificar un
trigger o una base de datos.
Ejemplo 1: Modificar la tabla cliente añadiéndole una columna llamada edad que permite los
valores nulos
79 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Ejemplo 2: Modificar la tabla cliente añadiéndole una columna llamada edad que permite los
valores nulos
Nota: Deben de quitarse todos los índices y constraints (restricciones)que son basadas en una
columna antes de que se elimine
10.3 DROP
Esta instrucción elimina un objeto. Puede ser una Tabla, vista, índice, trigger, función,
procedimiento o cualquier otro objeto que soporte el motor de la base de datos. Se puede
combinar con la sentencia ALTER
80 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Lección 11
Sentencias DML
Las siguientes tablas permitirán realizar ejemplos xde esta leccion
DEPOSITO CLIENTE
NOMBRE_SUC N°_CU NOMBRE_CLI NOMBRE_CLI CALLE CIUDAD
SALDO
URSAL ENTA ENTE ENTE CLIENTE
SAN FELIPE 102 HANSEN 400 HANSEN LAS CAMELIAS 123 LIMA
PRESTAMO SUCURSAL
NOMBRE_S N_PRES NOMBRE_CLI SALDO NOMBRE_SUC ACTIVO CIUDAD_SUCUR
UCURSAL TAMO ENTE URSAL SAL
11.1 INSERT
La instrucción INSERT se utiliza para añadir registros a las tablas de la base de datos.
81 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Ejemplo 2: Podemos crear una copia de la tabla cliente llamada copia_cliente con la misma
estructura. Y después pediríamos: Insertar a la tabla copia_cliente todos los clientes
11.2 DELETE
La instrucción DELETE es especialmente útil cuando se desea eliminar varios registros. Esta
instrucción elimina registros o tuplas completas. No podemos eliminar valores sólo de
atributos determinados. Con la clausula WHERE (opcional) solo eliminara las filas que
seleccione la clausula WHERE. Se puede utilizar DELETE para eliminar registros de una única
tabla o desde de varios lados de una relación uno a muchos. Las operaciones de eliminación en
cascada en una consulta únicamente eliminan desde varios lados de una relación.
11.3 UPDATE
La sentencia UPDATE se utiliza para cambiar el contenido de los registros de una tabla de base
de datos. Con esta instrucción podemos desear cambiar un valor en un registro sin cambiar
todos los valores en un registro.
[WHERE (condición)]
Ejemplo 1: Actualizar pagos de interés a todos los saldos de depósito con un incremento de
10%
UPDATE DEPOSITO
Ejemplo 2: Actualizar las cuentas con saldos mayores a 1000 soles éstas recibirán un
incremento de 6%, mientras que las demás recibirán un interés de 5%.
82 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
UPDATE DEPOSITO
UPDATE DEPOSITO
83 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Lección 12
Sentencias SELECT
12.1 SELECT SIMPLE
La sintaxis de una consulta de selección simple es la siguiente
SELECT campos FROM Tabla
En donde campos es la lista de campos que se desean recuperar y Tabla es el origen de
datos. Esta instrucción extrae todos los datos de una tabla
Ejemplo 2: Listar cada nombre de sucursal de la Tabla deposito sin eliminar duplicados
Ejemplo 1: Encontrar a todos los clientes que tienen una cuenta en la sucursal
“San Felipe”
SELECT DISTINCT nombre_cliente FROM deposito
WHERE nombre_sucursal = “San Felipe”
Ejemplo 2: Encontrar a todos los clientes que tienen una cuenta que no sea iguala la
sucursal “San Felipe”
La clausula order by sirve para recuperar los registros en un cierto orden , en donde se
especifica los campos a ordenar.
84 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Si varios préstamos tuvieran el mismo saldo, los ordenamos en orden ascendente por
numero de préstamo.
Ejemplo 4. Encontrar los nombres de todos los clientes cuya calle incluya la subcadena
“Las”.
SELECT nombre_cliente
FROM cliente
WHERE calle LIKE “%Las%”
Usamos el operador de comparación LIKE , esto quiere decir lo siguiente ,si usáramos
el carácter % en esta posición : “Parac%” es igual a cualquier cadena que empiece por
“Parac”; si colocáramos dos caracteres % al comienzo y al final “%imes%” es igual a
cualquier cadena que contenga “imes” como subcadena.
Es útil declarar una condición que se aplica a grupos. Esta condición no se aplica a
único registro sino se aplica a cada grupo construido con la instrucción GROUP BY
Para realizar esta consulta, usamos la clausula HAVING que se aplica después de la
formación de grupos.
Usamos la función de agregación AVG llamada promedio viene del inglés AVERAGE
85 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Usamos la función de agregación MAX llamada máximo viene del inglés MAXIMUM
Usamos la función de agregación MIN llamada mínimo viene del inglés MINIMUN
Observe que se usa la notación tabla.nombre del atributo para indicar el sentido de
pertenencia del atributo con la tabla ya que este puede repetirse en cualquier otra
relación o tabla así que el punto(.) especifica esta pertenecía,asi mismo para el
ejemplo el atributo ciudad_cliente no es necesario ya que este no se repite en otra
relación
Ejemplo 2: Encontrar el nombre y la ciudad de todos los clientes que tienen un prestamo
en la sucursal ‘San Felipe”
86 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
utiliza para vincular (o combinar) tablas por una columna en común y devolver
registros que se correspondan en esas columnas.
SELECT cliente.nombre_cliente,cliente.ciudad_cliente
FROM cliente INNER JOIN prestamo ON
cliente.nombre_cliente = prestamo.nombre_cliente
SELECT cliente.nombre_cliente,cliente.ciudad_cliente
FROM cliente INNER JOIN prestamo ON
cliente.nombre_cliente = prestamo.nombre_cliente
AND nombre_sucursal = “San Felipe”
SELECT cliente.nombre_cliente,cliente.ciudad_cliente
FROM cliente LEFT JOIN prestamo ON
cliente.nombre_cliente = prestamo.nombre_cliente
Ejemplo 2: Encontrar el nombre y la ciudad de todos los clientes que tengan prestamo en
alguna sucursal.
SELECT cliente.nombre_cliente,cliente.ciudad_cliente
87 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Ejemplo 1: Encontrar a todos los clientes que tienen una cuenta en la sucursal ‘San
Felipe” pero no tienen un prestamo en la sucursal “San Felipe”
Ejemplo 2: Encontrar a todos los clientes que tienen una cuenta en la sucursal “San
Felipe” y un prestamo en la sucursal ‘San Felipe”.
Ejemplo 3: Encontrar a todos los clientes que tiene una cuenta y un prestamo en la
sucursal ‘San Felipe”.
88 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Ejemplo 4: Encontrar los nombres de todas las sucursales que tienen un activo mayor
que todas las sucursales de “Lima”
Caso de estudio
A continuación crearemos una base de datos con el analizador de consultas del SQL SERVER.
A continuación el programa en SQL que nos implemente las tablas, las llaves primarias,
las llaves foráneas y las relaciones. Paso a Paso
PASO 1
89 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
FILEGROWTH = 8MB)
log on
(NAME = banKdblog,
FILENAME= 'E:\pcarpio\bancodb2log.ldf',
SIZE= 4 MB,
MAXSIZE = 15 MB,
FILEGROWTH = 10%)
Estas instrucciones deben ser ejecutadas para lograr la creación de la base de datos que
constara de tres archivos. El primero archivo principal llamado bancodb.mdf que
contendrá los datos de la base de datos, de tamaño 8 MB, con un tamaño máximo de
20MB y de porcentaje de crecimiento de 10%. Un segundo archivo llamado archivo
secundario llamado bancodb2 que nos servirá para almacenar los datos de la base de
datos, si se llenara el archivo principal con un tamaño de 8 MB, con un tamaño máximo
de 20 MB y 8 MB de crecimiento, finalmente el tercer archivo el archivo de
transacciones llamado bancodb2log.ldf que se usa para recuperar datos, guarda un
registro de las acciones hechas a la base de datos .Los registros de transacciones son
importante para la protección de los datos. Al anotar las operaciones en un registro, el
servidor de la base de datos puede recuperarlos ante cualquier desastre.
90 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Como PASO 2 crearemos las tablas que son 4. Las tablas: Cliente, Préstamo, Depósito
y Sucursal .
En la creación de cada tabla se está definiendo el tipo de dato indicándose también que
dicho campo puede permitirse valores nulos NULL. Además estamos indicando una
restricción a ciertos campos de la tabla con la palabra CHECK. La restricción CHECK se emplea
para restringir los datos que se aceptan en el campo. Por ejemplo el campo saldo acepta
valores mayores que cero. La Restricción de datos se puede forzar también con la restricción
UNIQUE siendo necesaria utilizarla para no ingresar valores duplicados a un campo que no
forma parte de la clave principal. Es importante decirle al lector que cuando indicamos NOT
NULL solo hemos hecho obligatorio para aquellos campos que van a ser claves primarias.
Veamos la tabla cliente el campo nombre_cliente va a ser la clave primaria entonces se le ha
definido como NOT NULL (ver grafico 4.1). Los tipos de datos usados en este ejemplo son: char
tipo de datos de carácter y el otro tipo usado int solo puede contener datos enteros.
91 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
En estas instrucciones el lector tiene que ver la figura 4.1 y notar que las claves primarias
pasan como foráneas Veamos las tablas cliente y deposito tienen cardinalidad 1 a muchos el
campo clave nombre_cliente pasa como clave foránea en la tabla deposito esto se detalla en el
siguiente párrafo de instrucciones:
El lector debe notar que el orden del párrafo de instrucciones es muy importante ya que para
definir la clave primaria de préstamo que es una superclave conformada por los siguientes
campos (n_prestamo,nombre_cliente,nombre_sucursal), previamente hemos definido
aquellos campos que son claves foráneas.
92 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Al terminar los pasos 1 ,2 y 3 se debe tener el modelo relacional mostrado en la figura 4.1 ,
esto lo puede visualizar en la carpeta diagramas de base de datos , el lector puede crear su
propio diagrama con la interfase visual ingrese a la opción crear diagrama (botón 2 del mouse)
coloque el cursor sobre la carpeta diagrama de base de datos y compruebe su diagrama con la
figura 4.1.
Siempre recuerde que las tablas son el corazón de la base de datos relacionales en
general y las restricciones de integridad aseguran que la clave primaria identifique
unívocamente a cada tabla representada de la base de datos y además que las
relaciones entre tablas de la base de datos se preserven durante las actualizaciones.
A diferencia de la sentencia SELECT , que puede operar sobre múltiples tablas, las
sentencias INSERT,DELETE,UPDATE funcionan solamente sobre una única tabla cada
vez.
La instrucción SELECT se utiliza para expresar una consulta SQL. Toda sentencia SELECT
produce una tabla de resultados que contiene una o más columnas y cero o mas filas.
La clausula FROM especifica la (s) tabla que contienen (n) los datos a recuperar de una
consulta.
La clausula WHERE selecciona las filas a incluir en los resultados aplicando una
condición de búsqueda a las filas de las tablas de base de datos
La clausula ORDER BY específica que los resultados de la consulta deben ser ordenados
en sentido ascendente o descendente, basándose en los valores de una o mas
columnas
Las funciones de columnas pueden calcular el promedio, la suma, el valor mínimo, el
valor máximo, de una columna, contar el número de valores de datos de una columna
o contar el número de filas de los resultados de una consulta
Las consultas sumarias sin clausula GROUP BY genera una única fila de resultados,
sumariando todas las filas de una tabla o de un conjunto compuesto de tablas.
Las consultas sumarias con clausula GROUP BY genera múltiples filas de resultados,
cada una acumulando en valor de la suma en fila de un grupo en particular.
En una consulta multitabla, las tablas que contienen los datos son designadas en la
clausula FROM.
Una subconsulta es una consulta dentro de una consulta. Las subconsultas aparecen
dentro de una de la condiciones de búsqueda. Cuando aparece una subconsulta en la
clausula WHERE los resultados de la subconsultas se utilizan para seleccionar las filas
individuales que contribuyen a los datos de los resultados de la consulta.
Las vistas permiten redefinir la estructura de una base de datos proporcionando a cada
usuario una vista personalizada de la estructura y los contenidos de la base de datos.
No olvide que una vista es una tabla virtual definida mediante una consulta. La vista
parece contener filas y columnas de datos, al igual que una tabla real, pero los datos
visibles a través de la vistas son los resultados de la consulta.
Una vista puede ser un subconjunto simple fila/columna de una única tabla. Puede
mostrar resultados obtenidos de funciones de agrupamiento o puede extraer los datos
de dos o más tablas. Son muy útiles para la seguridad de la base de datos. Por último
las instrucciones Transact Sql pueden agruparse en procesos o lotes permanecer en
una base de datos, ejecutarse repetidamente en forma de procedimientos
93 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
94 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Lectura
Lenguajes de base de datos
Los sistemas relacionales más comunes de base de datos consultan y modifican la
base de datos por medio de un lenguaje denominado SQL (Strucuture Query
Language = Lenguaje Estructurado de base de Datos). Un núcleo importante de el
equivale al algebra relacional, aunque ofrece muchas características importantes
que van más allá de lo que encontramos en ella, por ejemplo la agregación (sumas
y conteos, entre otras cosas) y actualizaciones de la base de datos.
Este lenguaje consta de muchos dialectos. Primero hay dos estándares principales
el SQL ANSI (American National Standards Institute) y un estándar actualizado que
se adopto en 1992 llamado SQL-92 o SQL2.
También existe un estándar más reciente, el SQL3 que amplía el anterior con
muchas características novedosas como la recursión, los disparadores y los objetos,
Existen además versiones del SQL producidas por los principales proveedores de
los sistemas administradores de base de datos. En todas ellas se encuentra las
capacidades del estándar original ANSI. En gran medida se conforman al SQL2 mas
reciente, aunque cada uno presenta sus propias variaciones y extensiones de él,
entre ellas algunas de las características del estándar propuestas SQL3.
95 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Actividades
Caso: Se ha diseñado una base de datos para el control del consumo, gustos y preferencias de
Bebedores de una localidad como se detalla en el siguiente diagrama. El diagrama muestra la
cardinalidad según la notación del SQL SERVER.
Figura 11.2
Se pide:
96 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Autoevaluación
1. ¿Cuál de las siguientes instrucciones del lenguaje SQL se usan para definir datos
a) Drop b) Select c) Alter d) Insert e) Create
3. ¿Cuál de las siguientes consultas satisfacen el siguiente enunciado “Eliminar todos los
prestamos con números de préstamo entre 17 y 29
a) Delete from préstamo where N_prestamo between 17 and 29
b) Delete from prestamo where N_prestamo <=29 and N_prestamo >= 17
c) Delete from prestamo where N_prestamo <29 and N_prestamo > 17
d) Delete from prestamo where N_prestamo >29 and N_prestamo < 17
e) N.A.
Respuestas de Control
1E, 2C, 3 AyB, 4B, 5AyB
97 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
Exploración On-Line
• Microsoft SQL Server 2008
http://www.microsoft.com/latam/sqlserver/
• MySQL
http://www.mysql.com/
• http://www.mailxmail.com/curso-sql
• http://www.programatium.com/bd/sql.htm
• http://www.zonagratuita.com/a-cursos/programacion/SQL7.htm
Referencias Bibliográficas
1. Korth, H. y otros (2002) Fundamentos de base de datos. 5ta. Ed. España. MacGrawHill.
2. Mike Gunderloy,Joseph L.Jorden ,David W.Tschanz La Biblia de Microsoft SQL SERVER
2005 Edicion 2006. Ediciones ANAYA
3. Training Computer Center IBM del Peru ,Base de Datos Guía del Alumno. IBM del Perú
Edicion 1999
4. Pablo Noriega Base de Datos Teoría 4ta Edición 2008 Editorial Universidad Peruana de
Ciencias Aplicadas
98 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
GLOSARIO
1. Base de datos: Colección de datos organizados de una empresa, los cuales son
recolectados y explotados por los sistemas de información de la empres.
2. Administrador de base de datos: Persona responsable de la confidencialidad,
disponibilidad, seguridad e integridad de los datos almacenados en la base de datos; vigila
el buen funcionamiento del sistema de base de datos.
3. Sistema de gestión de base de datos: Software que permite crear y mantener una base de
datos.
4. Sistema de base de datos: Formado por base de datos y Sistema de gestión de base de
datos.
5. Independencia de datos: Se refiere a la protección contra los programas de aplicación que
pueden generar incoherencias cuando se altera la organización física o lógica de la base de
datos.
6. Arquitectura ANSI/x3/SPARC: Arquitectura de tres niveles (externo, conceptual e interno)
que permite la independencia de datos.
7. Modelo de datos: Representación, a través de conceptos, reglas y convenciones para
describir los datos de una organización o domino particular.
8. MER: Modelo Entidad Relación, es un modelo conceptual que describe los datos como
entidades y sus relaciones.
9. Modelo relacional: Modelo de datos lógicos formado por relaciones o tablas.
10. Tabla: Conjunto de datos formado por filas o tuplas y columnas y atributos.
11. Primary Key: Clave Primaria, atributo (s) que identifican a las filas de una tabla.
12. Foreign Key: Clave Foránea, atributo (s) cuyos valores corresponde a los valores de la clave
primaria de la tabla relacionada.
13. SQL: Structured Query Language, Lenguaje de Consultas estructurado, formado por DDL,
DML y DCL.
14. DDL: Data Definition Language, Lenguaje de definición de datos
15. DML: Data Manipulation Language, Lenguaje de manipulación de datos
16. DCL: Data Control Language, Lenguaje de Control de los datos
99 Sistema a Distancia
Base de Datos I - Unidad IV César Luza M. / Pedro Carpio F.
BIBLIOGRAFÍA GENERAL
1. ANSI (1977): The ANSI/X3/SPARC DBMS Framework. Report on the Study Group on
Database Management Systems. D. Tsichiritzis y A. Klug (eds). Montvalle, N.J.: AFIP Press.
2. Booch, G., Rumbaugh, J. y Jacobson, I. (1999) El lenguaje unificado de modelado.
Madrid: Addison Wesley,
3. Chen, Peter (1976), “The entety-relationship model:Towards a unified view of data”. ACM
Trans.Sistemas de bases de datos 1 (1) 9-36
4. Codd, E.F. (1970) "A Relational Model of Data for Large Shared Data Banks")
Communications of the ACM, Vol 13 Num. 6.
5. Connolly, Thomas y Begg, Carolyn. (2008) Database Solutions. 5ta. Ed. España. Addison
Wesley.
6. Date, . (1995) An introduction to data base systems. 5ta. Ed. USA. Addison Wesley.
7. De Miguel A. y Piattini M., (1999) Fundamentos y Modelos de Base de datos. 2da. Ed.
España. Alfa y Omega.
8. Elmasri, Ramez y Shamkant Navathe (1997) Sistemas de Bases de Datos. Conceptos
fundamentales. Segunda Edición Addison-Wesley Iberoamericana.
9. Fagin R. (1977) “Multi-Valued Dependencies and a New Normal Form for relationa data
bases”. ACM TODS 2. No 3 (Septiembre)
10. Finkelstein, C. (1992) Strategic systems development. Sydney: Addison-Wesley.
11. Gunderloy M., Joseph L.Jorden, David W.Tschanz (2006) La Biblia de Microsoft SQL SERVER
2005. Edicion 2006. Ediciones ANAYA
12. Korth, H. y otros (2002) Fundamentos de base de datos. 5ta. Ed. España. MacGrawHill.
13. Kroenke, D. (2003) Procesamiento de base de datos. Fundamentos, diseño e
implementación. 8va. Edición, Mexico. Pearson Educacion.
14. Luque I. y Otros (2002) Bases de Datos-desde Chen hasta Codd con ORACLE,. España.
Alfaomega.
15. Martin, James. (1975) Computer Data Base Organization. USA. Prentice Hall.
16. Noriega, Pablo (2008) Base de Datos, Teoría. 4ta Edición. Editorial Universidad Peruana de
Ciencias Aplicadas
17. Training Computer Center IBM del Peru, Base de Datos Guía del Alumno. IBM del Perú
Edición 1999