Académique Documents
Professionnel Documents
Culture Documents
DE VERACRUZ
UTCV
Manual de Asignatura:
Base de Datos
ndice de Contenido
Objetivo del curso............................................................................................................. 1
Competencia a la que contribuye....................................................................................1
Introduccin...................................................................................................................... 2
1
Conceptos bsicos................................................................................................4
1.2
2.2
Modelo relacional.....................................................................................................16
3.1
3.2
3.3
Algebra relacional...............................................................................................20
Restricciones de integridad.................................................................................27
4.2
Normalizacin.....................................................................................................28
4.2.1
Normalizacin..............................................................................................28
4.2.2
4.2.3
4.2.4
5.2
Introduccin a SQL.............................................................................................36
6.2
6.3
Consultas y vistas...............................................................................................44
7.2
Instrucciones de actualizacin............................................................................46
i
Bibliografa...............................................................................................................49
ii
ndice de Figuras
Figura 1.1 Estructura del sistema Gestor de Base de Datos...............................................6
Figura 1.2 Planeacin de bases de datos...........................................................................8
Figura 2.1 Modelo Entidad Relacin..................................................................................13
Figura 2.2 Diagrama con llaves.........................................................................................15
Figura 3.1 Ejemplo de una base de datos relacional.........................................................16
Figura 3.2 Relacin Pelcula..............................................................................................17
Figura 3.3 Estructura del modelo relacional......................................................................18
Figura 3.4 Ejemplo: Transformar el diagrama E-R a modelo relacional.............................19
Figura 3.5 Ejercicio: Transformar el modelo E-R a modelo relacional...............................20
Figura 3.6 Operacin Seleccionar.....................................................................................21
Figura 3.7 Operacin Proyectar........................................................................................22
Figura 3.8 Operacin renombrar.......................................................................................23
Figura 3.9 Operacin relacin...........................................................................................23
Figura 3.10 Operacin Unin............................................................................................24
Figura 3.11 Operacin interseccin...................................................................................25
Figura 3.12 Operacin Diferencia......................................................................................25
Figura 3.13 Operacin producto cartesianos.....................................................................26
Figura 3.14 Ejemplo de producto cartesiano.....................................................................26
Figura 4.1 Esquema de una tabla denormalizada a la cual se aplica la 1FN.....................29
Figura 4.2 Esquema de una tabla normalizada 1FN luego de aplicarle la 2FN.................30
Figura 4.3 Esquema de una tabla normalizada 2FN a la cual se aplica la 3FN.................31
Figura 5.1 Interaccin de un SGBD...................................................................................32
Figura 5.2 SGBD monousuario.........................................................................................33
Figura 5.3 SGBD multiusuario...........................................................................................33
Figura 5.4 Administrador de base de datos.......................................................................34
iii
Introduccin
Las bases de datos son el mtodo preferido para el almacenamiento estructurado de
datos. Desde las grandes aplicaciones multiusuario, hasta los telfonos mviles y las
agendas electrnicas utilizan tecnologa de bases de datos para asegurar la integridad de
los datos y facilitar la labor tanto de usuarios como de los programadores que las
desarrollaron.
Desde la realizacin del primer modelo de datos, pasando por la administracin del
sistema gestor, hasta llegar al desarrollo de la aplicacin, los conceptos y la tecnologa
asociados son muchos y muy heterogneos. Sin embargo, es imprescindible conocer los
aspectos clave de cada uno de estos temas para tener xito en cualquier proyecto que
implique trabajar con bases de datos.
En este curso trataremos de dar una visin completa de los conceptos relacionados con
los sistemas gestores de bases de datos. En los primeros captulos veremos los aspectos
involucrados en los motores de estos almacenes de datos, su evolucin histrica y los
distintos tipos de organizacin y abs-traccin que han ido surgiendo desde su
conceptualizacin hasta nuestros das. A continuacin profundizaremos en el modelo
llamado relacional (el ms usado en nuestros das), proporcionando los mtodos y
herramientas que nos permitan representar necesidades de almacenamiento y consulta
de datos en este modelo.
Una vez sentadas estas bases, estaremos en disposicin de examinar detenidamente dos
de los sistemas gestores de bases de datos de software libre ms usados y populares
actualmente. As pues, aprenderemos el uso, administracin y particularidades de MySQL
y PostgreSQL mediante ejemplos y casos prcticos.
Tambin veremos las herramientas de consulta y administracin grficas para estos dos
sistemas gestores de bases de datos, que nos permitirn mejorar nuestra productividad
en el trabajo diario con ellos.
Gestor
Almacenamiento
ndices
Datos
Campos
Registros
4
Son numerosas las definiciones que se pueden sealar acerca de lo que significa la
palabra administracin, a continuacin se mencionan algunas definiciones, que llaman
ms la atencin y que se consideran para integrar el concepto de administracin de
empresa agroindustrial:
Base de datos: Una base de datos es un archivo o conjunto de archivos que contienen
mltiples informaciones que de alguna forma guardan relacin. Por ej. Una base de datos
para gestionar un Videoclub almacenar mltiples informaciones sobre pelculas, socios,
etc y entre ellas existirn relaciones como por ej. una pelcula con un socio por medio
de un prstamo o alquiler.
Sistema Gestor de Bases de Datos (SGBD): Para construir una base de datos en soporte
informtico con todas las informaciones a almacenar (estructuras de datos, tablas, ndices
, etc), es necesario disponer de una herramienta que lo permita. Este es el cometido de
un SGBD; bsicamente permite crear, manipular gestionar y eliminar tanto los datos como
las estructuras de una base de datos, permitiendo de esta forma el tratamiento
automatizado y fcil de la informacin almacenada en ella. No se debe confundir base de
datos con SGBD con Base de Datos, el primero es una herramienta para la creacin
mientras que la segunda es una solucin concreta a un problema de almacenamiento de
datos determinado. Por ej. Con Access (es un SGBD) podemos crear y gestionar mltiples
bases de datos (para gestionar un videoclub, una biblioteca, un comercio, etc) con
diferentes necesidades de almacenamiento.
Tabla: Estructura que almacena todos los datos sobre un tipo de entidad o relacin. Por ej.
Clientes, Socios, Libros, Prstamos.
Campo: Cada uno de las informaciones que se almacenan sobre una entidad. Por ej.
Edad, Telfono, DNI (columnas de la tabla).
Estructura del Registro: Conjunto de campos que determinan que datos se almacenan
sobre una entidad. Por ej. Nombre, Apellidos, Telfono, (nombres de los campos que
definen la estructura de la tabla).
Registro de datos (o Registro): Cada uno de los conjuntos de datos almacenados sobre
una ocurrencia de una entidad determinada. Por ej. Antonio, Garca Ramos, 956432178
son los datos que conforman el registro de Antonio. (filas de datos de la tabla).
Campo ndice: Es un tipo especial de campo por el que se establece un orden para realiza
bsquedas. La necesidad de estos campos es evidente. Si por ej. tenemos una tabla con
5000 registros de personas, resultar ms fcil buscar a una persona por sus apellidos si
la tabla est ordenada por este campo. Si no estuviera ordenada se podra realizar la
bsqueda pero para un apellido como Martn en el peor de los casos tendramos que
buscar hasta el final de la tabla, mientras que con un orden (ndice) sobre el campo
apellidos, en el peor de los casos no pasaramos de los registros que tuvieran el apellido
Martn ya que ms all no podra haber ninguna persona con ese apellido.
Ejercicio 2: Elaborar en libreta los elementos que conforman una estructura del sistema.
5
Conclusin
Las base de datos son de suma importancia hoy en da, el contar con herramientas de
vanguardia protegen la entidad del usuario. La implementacin de una base de datos
mejora el rendimiento y la accesibilidad de los datos debido a una disminucin de trfico
de la red y a un trabajo colaborativo de varios servidores como si fuera un solo equipo de
trabajo.
OBSERVACIN
[ ] Excell
[ ] Turbo c
[ ] Powerpoint
[ ] Arena
Conclusin
En cuanto al requerimiento podemos decir que cumple las mismas tareas de anlisis que
del software y tiene como caracterstica relacionar la informacin como va organizacin y
asociacin donde la base de datos tiene una ventaja que es utilizar la plataforma para el
desarrollo del sistema de aplicacin en las organizaciones.
Otro aspectos importante sera el diseo y creacin de la base de datos, donde existen
distintos modos de organizar la informacin y representar las relaciones entre por datos
los tres modelos lgicos principales dentro de una base de datos son el jerrquico, de
redes y el relacional, los cuales tiene ciertas ventajas de procesamiento y de negocios.
Conclusin de la Unidad
Como se puede observar en el desarrollo de esta temtica, algunos de los aspectos
aprendidos y que de gran peso es la base de datos su definicin, requerimiento, ventajas
y caractersticas donde podemos decir que la base de datos: Es una coleccin de datos o
informacin usados para dar servicios a muchas aplicaciones al mismo tiempo.
Otro punto necesario de recalcar es la clase de bases de datos las cuales son, base de
datos documental, base de datos distribuidas y base de datos orientadas a objetos e
hipermedia y tienen como funcin derivar, almacenar y procesar datos dentro de una
informacin.
10
autor pertenece a alguna institucin. Las entidades que pueden extraerse de esta
descripcin podran ser:
Artculo
Autor
Institucin
Los atributos de un artculo seran el ttulo, el resumen y el contenido. Un autor tendra los
atributos de una persona: el nombre, la nacionalidad y la fecha de nacimiento. De una
institucin slo tomaremos el nombre.
Entre estas entidades podemos reconocer las siguientes relaciones: el artculo es escrito
por los autores; el autor pertenece a una institucin. La Figura 2.3 muestra un diagrama
de E-R que ilustra esta descripcin.
Atributos y Llaves
Los atributos, tanto de entidades como de relaciones, toman sus valores posibles de un
conjunto llamado dominio. El dominio es, entonces, el conjunto de valores posibles que
puede tomar un atributo dado de un conjunto de entidades dado. Por ejemplo, la fecha de
nacimiento de una persona puede ser una fecha cualquiera anterior a la fecha actual. El
dominio de las fechas de nacimiento, entonces, es el subconjunto de fechas que son
anteriores (o iguales, en algunos casos) a la fecha de hoy. El dominio de los nmeros de
telfono, en Chile, podra ser una cadena de caracteres que cumpliera con el formato (XX)
XXX-XXXX (simplificado), donde las X son dgitos. En general los dominios sern ms
bien amplios, aunque cuando se lleva a cabo la implementacin es preferible restringir los
dominios lo ms posible de manera que el gestor de bases de datos automticamente
haga algunas verificaciones sobre los datos que se almacenan, para asegurar la
integridad de los datos. Veremos cmo hacer esto en la seccin siguiente.
12
Atributos llave
Entidad
Entidad dbil
Superllave
13
14
3 Modelo relacional
El modelo E-R se considera un modelo conceptual ya que permite a un nivel alto el ver
con claridad la informacin utilizada en algn problema o negocio.
El modelo relacional consiste en desarrollar un buen modelo "lgico" que se conoce como
"esquema de la base de datos" (database schema) a partir del cual se podr realizar el
modelado fsico en el DBMS, es importante mencionar que es un paso necesario, no se
puede partir de un modelo conceptual para realizar un fsico.
15
16
17
Solucin:
Compositores(DNI, NombreYApe)
Canciones(Titulo, duracion,NmSerie)
Autor(DNI, Titulo, duracin, NmSerie)
CD(NumSerie, TtuloCD, intrprete)
18
Seleccionar
Proyectar
Renombrar
De la Teora de Conjuntos
o Unin
o Interseccin
o Diferencia
o Producto Cruzado
Reunin
Reunin Natural
Divisin
19
20
21
22
23
24
25
De llave
De unicidad
Valor nulo
De dominio
Integridad referencial
Generales
Bajo esta restriccin, un atributo no debe tomar nulo como valor. (Las relaciones
debe ser diseadas de tal forma que sus tuplas tengan el menor nmero de nulos
posibles)
Una llave primaria por definicin debe satisfacer esta restriccin.
Razones para el valor nulo:
o Atributo no aplicable o invlido
o Valor del atributo desconocido (puede existir)
o Valor de existencia conocida, pero indisponible.
Los atributos que son nulos frecuentemente pueden ser colocados en relaciones
separadas.
26
Especificada entre dos tablas para mantener la consistencia de los datos entre
ellas.
Definicin de llave fornea: Conjunto de uno o ms atributos de una tabla
referenciando a la llave primaria de otra tabla.
El valor del atributo (o atributos) de la llave fornea FK de la tabla refernecial R1
es:
o Un valor existente de llave primaria en la tabla referenciada R2.
o Nulo.
Hay que determinar las consecuencias de la modificacin de la relacin.
o CASCADE Propagacin de la accin realizada (borrado).
o SET NULL Poner valor nulo a la llave fornea.
o SET DEFAULT - Poner un valor a la llave fornea.
Entindase como modificacin la actualizacin o borrado de datos.
4.2 Normalizacin
4.2.1 Normalizacin
La normalizacin es un trmino que hace referencia al conjunto de reglas metodolgicas
que se aplican sobre entidades con el propsito de adaptarlas al modelo relacional. Este
proceso apunta a generar modelos de datos donde la redundancia de stos no existe o se
mantiene en su mnima expresin.
Fue Codd quien enunci las reglas o formas de normalizacin. Esta metodologa permite
a una entidad en estado inicial (o denormalizada) pasar a la primera forma normal
(abreviada como 1FN), segunda forma normal (2FN) y as sucesivamente hasta alcanzar
el grado de normalizacin deseado.
27
Crear tablas separadas para aquellos grupos de datos que se aplican a varios
registros.
Relacionar estas tablas mediante una clave externa.
Para nuestro ejemplo creamos la tabla curso y establecemos la relacin mediante la llave
id_alumno externa para la tabla curso.
Figura 4.20 Esquema de una tabla normalizada 1FN luego de aplicarle la 2FN.
29
Figura 4.21 Esquema de una tabla normalizada 2FN a la cual se aplica la 3FN.
Las tablas que al final nos quedan, despus de aplicar la 1FN, 2FN y la 3FN so:
alumno
curso
detalle_curso
30
31
El SGBD oculta
al usuario los detalles del
almacenamiento
informacin, mostrando una visin abstracta de la informacin.
de
la
32
Conclusin de la unidad
En esta unidad se estudiado el sistema gestor de base de datos: una herramienta para
manipular una base de datos, pues es con esta herramienta como se administran los
datos de una base de datos realmente. El SGBD utiliza SQL para que el usuario pueda
agregar o consultar datos.
34
Introduccin
El lenguaje de consulta estructurado es un lenguaje declarativo de acceso a bases de
datos relacionales que permite especificar diversos tipos de operaciones sobre las
mismas.
El desarrollo de SQL empez en las instalaciones de investigacin de IBM a mediados de
la dcada de 1970 con el nombre de SEQUEL. Salieron varias versiones de SEQUEL y en
1980 el producto recibi el nombre de SQL. Desde entonces, IBM en unin con otros
proveedores han desarrollado productos SQL.
SQL no es un lenguaje de programacin sino que es considerado un sublenguaje de
datos o un lenguaje de acceso a datos que se implanta en otros lenguajes, las rdenes de
SQL se pueden usar interactivamente como un lenguaje de consulta.
Caractersticas: Sus principales caractersticas son:
35
Manejo del lgebra y clculo relacional, lo que permite realizar consultas con el fin
de recuperar, de manera sencilla, informacin de inters de una base de datos, as
como tambin hacer cambios sobre la misma.
Es adems un lenguaje de cuarta generacin (4GL).
Puede ser incrustado en disparadores y procedimientos almacenados.
Las sentencias SQL deben terminar con punto y coma
Introduccin
El esquema de una base de datos define la estructura de sta, sus tablas, relaciones,
dominios y reglas del negocio. El esquema es un diseo sobre el cual se construye la
base de datos y sus aplicaciones.
Ya que las tablas y relaciones son temas vistos con anterioridad slo se reforzar la
definicin de dominio y regla del negocio.
Dominio: Un dominio es un conjunto de valores que puede tener una columna. El dominio
puede ser el tipo de dato, por ejemplo, para el caso de una columna llamada Fecha de
nacimiento, cuyo dominio sera el tipo de dato DATE, o el tipo de dato ENTERO para una
columna denominada Cantidad.
Ya que los dominios se representan principalmente con tipos de datos, es necesario
conocer los tipos que maneja SQL, los cuales se dividen principalmente en:
36
Reglas del negocio: son las restricciones en las actividades del negocio y necesitan
reflejarse en la base de datos al igual que en sus aplicaciones. Algunos ejemplos de
reglas de negocio para una base de datos de una biblioteca son:
Para pedir prestado un libro, se debe contar con credencial de alumno o profesor
No se puede prestar ms de 10 ejemplares al mismo alumno.
Los libros se prestan por un espacio no mayor a 10 das hbiles
No se permite el prstamo de otro ejemplar si tiene alguno vencido.
Las reglas del negocio son importantes dentro del esquema ya que especifican las
restricciones de los valores que han de guardarse en la base de datos. Sin importar si la
peticin de cambio viene directamente del usuario, de la aplicacin o e una consultarequerimiento actualizada.
Para crear el esquema de una base de datos se tienen las siguientes instrucciones:
CREATE DATABASE nombre_base_datos
La anterior instruccin sirve para crear una base de datos, la cual contendr una o varias
tablas que se crearn posteriormente, algunos ejemplos del uso de esta instruccin son:
CREATE DATABASE escuela;
CREATE DATABASE hospital;
CREATE DATABASE proyecto;
Donde los nombres de las bases de datos son escuela, hospital y proyecto.
Crear una Tabla
Para crear una tabla se usa la instruccin CREATE TABLE seguida del nombre de la
tabla. Posterior al nombre se abre un parntesis para listar dada columna que es descrita
con tres partes: nombre de la columna, tipo de dato y restricciones opcionales.
Ejemplo:
CREATE TABLE Proyecto(
IdProyecto Integer Primary Key,
Nombre Char(25) Unique Not null,
Departamento Varchar(100),
HorasMaximo Integer
);
Restricciones
37
Las restricciones pueden ser definidas dentro de las sentencias CREATE TABLE o
pueden ser aadidas a la tabla despus de ser creada usando sentencias ALTER que se
vern ms adelante.
Existen cinco tipos de restricciones:
PRIMARY KEY
UNIQUE
NOT NULL
FOREIGN KEY
CHECK
Para definir una llave primaria se usan las palabras PRIMARY KEY despus del tipo de
dato de la columna que ser llave.
Si se desea, se puede especificar durante la creacin que una o ms columnas no
pueden contener valores nulos. Para esto, las palabras NOT NULL se aaden despus
del tipo de dato de cada columna, tal es el caso de la columna Nombre dentro de la tabla
Proyecto.
Un valor nulo es un valor de un atributo que no fue proporcionado. Una de las razones por
las que es bueno evitarlos, es porque son ambigos, ellos pueden significar dos cosas,
que el valor es desconocido o inapropiado. Slo se pueden ignorar los valores nulos, si la
ambigedad no es un problema para los usuarios.
Tambin es posible especificar en el momento de creacin que una columna en una tabla
no puede contener valores duplicados, para ello se requiere usar la palabra UNIQUE
despus del tipo de dato o al final de la definicin de la tabla como lo muestra el siguiente
ejemplo:
CREATE TABLE Proyecto(
IdProyecto Integer Primery Key,
Nombre Char(25) Not null,
Departamento Varchar(100),
HorasMaximo Integer
) UNIQUE (Nombre);
Un punto importante con UNIQUE es que cualquier columna declarada para ser nica
debe tambin ser declarada NOT NULL, no es posible definir una columna que debe
contener un valor nico que pueda contener tambin valores nulos. SQL regresar un
error si se intenta crear as.
Ejercicio 2: Escribe la sentencia SQL para crear la siguiente relacin, aplica las
restricciones indicadas ESTUDIANTES(matrcula, nombre, direccin, ciudad, estado, cp,
38
gnero). Donde matrcula sea llave primaria y nombre sea nico, Departamento no puede
ser NULO.
Para definir las llaves forneas la sintaxis es la siguiente:
FOREIGN KEY campo_original REFERENCES Tabla(campo_referenciado)
Creacin de Vistas
Una vista es una tabla creada desde toda o parte de una o ms tablas existentes. Son
tambin llamadas tablas virtuales, mientras que las tablas que existen fsicamente en la
base de datos se le llaman reales.
As como las tablas reales, las vistas son creadas usando la sentencia CREATE. A
diferencia de las tablas, las filas y columnas que comprenden una vista deben existir en
una o ms tablas en la base de datos.
La forma general de una sentencia para crear una vista es:
CREATE VIEW nombre_vista (nombres_columnas) AS
SELECT nombres_columnas
FROM nombre_tabla
WHERE
predicado;
Ejemplo 1:
CREATE VIEW Facultad AS
SELECT id_profesor, nombre_profesor, telfono
FFROM profesores;
Debido a que no especificamos los nombres de columnas despus del nombre de la vista,
estos sern idnticos a los nombres especificados en el SELECT.
Ejemplo 2:
Se puede desear consultar frecuentemente las matrculas y nombres de los estudiantes
de Veracruz. Para facilitar el acceso a esta informacin, se creara una vista llamada
Alumnos_Ver con:
CREATE VIEW Alumnos_Ver(nombre, matricula, estado) AS
SELECT nombre_estudiante, matricula, estado
FROM Estudiantes
WHERE estado=Veracruz;
39
2.
Crear una vista que contenga slo los registros de los alumnos de Crdoba de la tabla
Alumnos
Alumnos(matricula, nombre_alumno, direccin, ciudad, estado, cdigo_postal, gnero)
3. Crear una vista que contenga nombre, nmero y salario mensual de cada profesor
Profesores(id_profesor, nombre_profesor, telfono, salario_anual)
Aplicacin de las Vistas.
Las vistas pueden ser usadas para
Ejercicio 4:
Escribe las sentencias SQL necesarias para crear las siguientes bases de datos con sus respectivas
tablas. Las restricciones a aplicar son: llave primaria a los campos subrayados, UNIQUE a los campos
en cursiva, y Foreign Key a los que lo indican de la siguiente forma (FK).
Base: CentroMedico
Tablas:
Medico(Cedula, Nombre, Direccin, Telfono, Celular, Ciudad)
Consultorio(nmero de consultorio, ubicacin, extensin, cdula(FK))
Pacientes(CURP, Nombre, Direccin, Telfono, Ciudad)
Citas(nmero de cita, fecha, motivo, cdula(FK), CURP(FK))
40
El estudiante identificar las clusulas y sintaxis del DDL para la modificacin de la base de datos
(alter y drop).
Introduccin
Aunque las restricciones pueden establecerse en el diseo y creacin de una tabla, en la ejecucin de un
proyecto usualmente resulta que la base de datos debe sufrir cambios, cambios que consisten muchas veces
en nuevos campos no contemplados al inicio o en eliminar campos que ya no sern requeridos. Lo anterior lo
podemos ejecutar con sentencias que llevan ese propsito
ALTER: Estas sentencias cambian la estructura de la tabla, propiedades o restricciones despus de que han
sido creadas.
Sintaxis de ALTER
El esquema de una base de datos define la estructura de sta, sus tablas, relaciones, dominios y reglas del
negocio. El esquema es un diseo sobre el cual se construye la base de datos y sus aplicaciones.
Los cambios que se pueden realizar con la sentencia ALTER TABLE son:
1.
Aadir una definicin de la columna de una tabla, puede crearse con o sin valores nulos.
Sintaxis: ALTER TABLE nombre_tabla ADD nombre_columna_nueva TIPO_DE_DATO NOT NULL
Ejemplo: ALTER TABLE alumno ADD cuenta_facebook varchar(100)
2.
Eliminar una columna de la tabla, aunque antes de esto, deben ser eliminadas por ALTER TABLE
todas las restricciones que estn definidas sobre esta columna.
Sintaxis: ALTER TABLE Tabla DROP COLUMN columna
Ejemplo: ALTER TABLE alumno DROP COLUMN cuenta_msn;
3.
Eliminar las definiciones de llaves primarias, forneas o restricciones existentes para una tabla
Sintaxis: ALTER TABLE Tabla DROP CONSTRAINT PK_T1_numero_asignado_por_DBMS
Ejemplo: ALTER TABLE alumnos DROP CONSTRAINT PK_Alumno_031
4.
41
Ejercicio 5: Se tienen las siguientes relaciones en una base de datos, pero se desea agregar y eliminar
algunos campos. Escribe las sentencias ALTER necesarias para realizar lo siguiente
DROP: As como SQL permite la creacin de nuevas tablas, proporciona la manera de destruir las tablas
existentes. Esta destruccin se consigue usando la sentencia DROP. La forma general de DROP es:
DROP TABLE nombre_tabla
De la misma forma que CREATE, DROP no regresa otro resultado ms que un mensaje de SQL indicando
que la tabla indicada ha sido destruida.
Algunos ejemplos de uso de DROP son los siguientes:
DROP TABLE alumnos:
DROP TABLE profesores;
DROP TABLE empleados;
Ejercicio 6:
Escribir las sentencias SQL para eliminar las tablas Consultorio y Citas de la base de datos Centro
Mdico del ejercicio anterior.
Conclusin de la Unidad
De la misma forma que el diseo de una casa debe hacerse una realidad colocando ladrillo sobre ladrillo,
cuando diseamos una base de datos debemos llevarla al momento de su implementacin y para ello
requerimos al lenguaje SQL.
Para poder realizar esta primera fase de construccin hacemos uso de sentencias que pertenecen al DDL o
lenguaje de definicin de datos dentro de SQL, dicho lenguaje nos permite tanto crear como destruir,
establecer como eliminar aspectos que tienen que ver con el esquema o estructura de las tablas.
42
El participante identificar las clusulas y sintaxis del DML para la generacin de consultas, manejo
de vistas y operaciones con los datos (select, view y funciones de agregado).
Introduccin:
En esta seccin se considerarn las facilidades de SQL para consultar una tabla independiente. Como se ha
visto SQL es un lenguaje orientado a la transformacin que acepta como entrada una o ms relaciones y
produce una sola relacin de salida. El resultado de cada consulta SQL es una relacin.
Considere la siguiente Tabla
Estudiante
*matricula
nombre
carrera
semestre
Para formar una proyeccin con SQL nombramos la relacin a proyectarse y listan las columnas que van a ser
mostradas. Ejemplo:
SELECT matricula, nombre, carrera FROM Estudiante;
Las palabras reservadas SELECT y FROM siempre se requieren; las columnas a obtener se listan despus de
la palabra SELECT y la tabla que se va a usar se enumera despus de la palabra FROM. Es importante no
confundir la palabra SELECT con el operador de seleccin del algebra relacional. SELECT es un verbo SQL
que se puede usar para realizar una proyeccin, seleccionar y especificar otras acciones
43
Si se desean eliminar los renglones duplicados en el resultado de una consulta se usa el calificador DISTINCT
de la siguiente forma:
SELECT DISTINCT carrera FROM Estudiante;
El operador del lgebra relacional tambin se lleva a cabo con la orden SQL SELECT. Un ejemplo de esto es:
SELECT matricula, nombre, carrera, semestre FROM Estudiante WHERE carrera=TIC;
La nueva frase WHERE proporciona la o las condiciones para la seleccin. El formato SELECT-FROMWHERE es la estructura fundamental de los enunciados SQL. La siguiente es una forma equivalente de la
consulta anterior:
SELECT * FROM Estudiante WHERE carrera=TIC;
El asterisco significa que deben obtenerse todas las columnas de la tabla. El resultado de ambas es el mismo.
Se pueden combinar la seleccin y la proyeccin como sigue:
SELECT nombre, carrera FROM Estudiante WHERE carrera=TIC;
Se pueden expresar varias condiciones en la clusula WHERE. Por ejemplo, con la expresin:
SELECT nombre, grado FROM Estudiante WHERE carrera=TIC AND semestre=1;
Las condiciones en las clusulas WHERE se pueden referir a un conjunto de valores. Para hacer esto, se
pueden usar las palabras reservadas IN o NOT IN. Considere:
SELECT nombre FROM Estudiante WHERE carrera IN [TIC,LGC];
La expresin carrera IN [TIC,LGC] significa que el valor de la columna carrera puede ser igual a cualquiera
de las especialidades listadas. Esto es equivalente al operador lgica OR. La expresin carrera NOT IN
[TIC,LGC] significa que el valor debe ser diferente a todas las especialidades listadas.
Las clusulas WHERE tambin se pueden referir a rangos y valores parciales. La palabra reservada
BETWEEN se usa para los rangos, por ejemplo, con el enunciado:
SELECT nombre, carrera FROM Estudiante
Cabe aclarar que los valores finales, 200 y 300 en este caso, estn incluidos en el rango seleccionado.
Finalmente la palabra reservada LIKE, se usa en expresiones SQL para seleccionar valores parciales. El
smbolo _ (guin bajo) representa un carcter independiente no especificado; el smbolo % representa una
serie de uno o ms caracteres no especificados, as, ejemplos de expresiones de este tipo seran:
SELECT nombre, carrera FROM Estudiante WHERE carrera LIKE _A
SELECT nombre, carrera FROM Estudiante WHERE nombre LIKE %S
44
Ejercicio 7:
Observe las siguientes relaciones:
VENDEDOR(nombre, porcentajedeCuota, salario)
PEDIDO(nmero, nombreCliente, nombreVendedor, cantidad)
CLIENTE(nombre, ciudad, tipoIndustria)
El participante identificar las clusulas y sintaxis del DML para la actualizacin de datos (insert,
delete, update).
Introduccin
Una vez creada una tabla debe ser llenada con valores. Ya que, todos los valores de las tablas estn
contenidos en registros, aadir un nuevo valor requiere aadir un nuevo registro o rengln. SQL tiene medios
para cambiar datos en tablas insertando renglones nuevos, eliminando renglones y modificando los valores de
los reglones existentes.
Insercin de datos
En una tabla se pueden insertar renglones uno por uno o en grupos. Para insertar uno slo se establece:
INSERT INTO Profesores VALUES(303, Dr. Miguel Lopez,257-3049,18900.00);
INSERT INTO Inscripcion VALUES(400,BD445,44);
Si no conocemos todos los datos o bien no conocemos el orden de los campos, se puede decir:
INSERT INTO Inscripcion(matricula,clase) VALUES(400,BD445);
45
Modificacin de datos
Los renglones tambin se pueden modificar uno a la vez o en grupos. La palabra reservada SET se usa para
cambiar el valor de una columna. Despus de SET, se cambia el nombre de la columna y se especifica el
nuevo valor o la forma de calcularlo. Considere los siguientes ejemplos:
UPDATE Profesores set salario=28400.00 WHERE nombre_profesor=Dr Miguel Lopez;
UPDATE Inscripcion SET numeroInscripcion=44 WHERE matricula=400;
UPDATE Inscripcion SET numeroInscripcion=MAX(numeroInscripcion) + 1 WHERE matricula=400;
46
En el segundo enunciado UPDATE, el valor de la columna se calcula usando la funcin MAX. Sin embargo,
algunas implementaciones de SQL no permiten usar la funcin interconstruida como argumento en el
comando SET.
Ejercicio 10: Escribe las sentencias SQL para realizar las siguientes acciones:
El Dr. Miguel Lopez recibe un aumento salarial del 5 por ciento adems de un bono de 1000
El Dr. Miguel Lopez cambia su telfono anterior 7171213 a 7143050
Todos los profesores reciben un aumento salarial del 3%
Ejercicio 11:
Observe las siguientes relaciones:
VENDEDOR(nombre, porcentajedeCuota, salario)
PEDIDO(nmero, nombreCliente, nombreVendedor, cantidad)
CLIENTE(nombre, ciudad, tipoIndustria)
Muestre un enunciado SQL para
Insertar un nombre nuevo y edad en VENDEDOR, suponga que el salario no est determinado
47
48
8 Bibliografa
49