Professional Documents
Culture Documents
Temas
Conjunto de datos relacionados entre s Representan algn aspecto de la realidad. Tienen un significado. Sirven para un propsito especfico. Pueden ser de cualquier tamao. Pueden tener distintos grados de complejidad.
SGBD
Sistema que provee un conjunto de servicios adecuados para la construccin y mantenimiento de bases de datos. Tenemos un conjunto de datos relacionados entre si, organizados alrededor de un modelo de datos y un conjunto de programas para mantener esos datos.
Conclusin:
Objetivos
Controlar redundancia de los datos. Evitar inconsistencia de los datos. Facilidad para el acceso a los datos. Seguridad de los datos. Integridad de los datos. Evitar anomalas en el acceso concurrente. Recuperacin de fallos. Informacin distribuida.
Modelo de Datos
Un Modelo de Datos es una herramienta conceptual que nos permite describir los datos y las operaciones que se realizan sobre ellos. Permite:
Definir los datos. Definir Restricciones de Integridad. Definir Operaciones sobre los datos.
DDL
DML
Permite definir los objetos y las relaciones, es decir las estructuras de los datos para almacenar la informacin. El resultado de la compilacin de las instrucciones en DDL se almacena en el Catlogo del Sistema.
Me permite manejar o tener acceso a los datos que estn organizados por medio de modelos apropiados. Esta manipulacin consiste en:
Modelo Entidad-Relacin
Modelo conceptual para la definicin de datos. Se basa en representar objetos (entidades) y relaciones entre ellos. Describe el esquema en trminos de conjuntos de entidades y relaciones entre esos conjuntos. Permite declarar restricciones sobre las relaciones como sobre los conjuntos de entidades. Tiene un DDL grfico. No tiene DML standard.
Entidad
Objeto distinguible de la realidad en estudio. Las entidades se agrupan en conjuntos de entidades. Propiedades especficas que describen una entidad.
Atributo
Relacin
Correspondencia o asociacin entre dos o ms entidades. Cada relacin tiene un nombre que describe su funcin.
Diagrama de Entidad-Relacin
Los Conjuntos de Entidades se representan con un rectngulo con el nombre, del que cuelgan los atributos. Los Conjuntos de Relaciones se representan con un rombo con el nombre, conectado con los conjuntos de entidades que relaciona. Hay un conjunto grande de Restricciones que se pueden imponer sobre el diagrama con diferentes notaciones.
Tipos de Atributos
Ejemplo
Estudiante
Atributo Determinante
Cdula
Fecha Nacimiento
Edad Telfonos*
Atributo multivalorado Fecha de nacimiento es almacenado, mientras Edad es derivado
Direccin
Calle
Nmero
Ejemplo
Estudiante
N Inscripto N
Curso
Funcionario
N
Trabaja
Departamento
Modelo relacional
Modelo ms utilizado en la actualidad para problemas reales y administrar datos dinmicamente. Su idea fundamental es el uso de relaciones, stas podran considerarse en forma lgica como conjuntos de datos llamados tuplas. Cada relacin sera una tabla que est compuesta por registros o tuplas (filas de la tabla) y columnas (tambin llamadas campos).
Conceptos
Restriccin de Dominio: restringen el dominio para ese atributo. Restriccin de Identidad o Clave: No puedan existir tuplas con el mismo valor en ciertos atributos. Esto hace que esos atributos se conviertan en un identificador de las tuplas (conforman una clave). Restriccin de Integridad de Relacin: Ningn valor de la clave puede ser nulo. Restriccin de Integridad Referencial: Toda tupla de una relacin que haga referencia a una tupla de otra relacin debe hacerlo a una tupla existente. Restriccin de Integridad Semntica: Las restricciones entre los valores de los atributos de distintas tuplas estn dados por la semntica de la Aplicacin Ejemplo: El salario de un empleado no debe exceder el salario de un supervisor.
Operaciones
Algebra Relacional
Otras operaciones
Funciones agregadas: Suma, Promedio, Mximo, Mnimo, Cuenta Reunin y unin externa
Lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en stas. Permite efectuar consultas con el fin de recuperar informacin de una base de datos, as como tambin hacer cambios sobre ella
Se encarga de la modificacin de la estructura de los objetos de la base de datos. Existen cuatro operaciones bsicas: CREATE, ALTER, DROP y TRUNCATE
CREATE
Crea un objeto dentro de la base de datos. Puede ser una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Ejemplo:
CREATE TABLE Estudiante ( numero INT not null, nombre varchar(20) ) PRIMARY KEY (numero)
ALTER
Permite modificar la estructura de un objeto. Se pueden agregar /quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar ndices a una tabla, modificar un trigger, etc. Ejemplo: agregar columna a una tabla ALTER TABLE Estudiante ( add apellido varchar(20))
DROP
Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, ndice, trigger, funcin, procedimiento o cualquier otro objeto que el motor de la base de datos soporte. ALTER TABLE Estudiante ( DROP COLUMN apellido) Drop table Estudiante cascade;
TRUNCATE
Trunca todo el contenido de una tabla. Ventaja sobre el comando DELETE: mucho ms rpido, especialmente si la tabla es muy grande. Desventaja: no se permite la clusula WHERE Ejemplo:
TRUNCATE TABLE ESTUDIANTE
Permite a los usuarios llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado Consultas: Select Operaciones de Actualizaciones: Insert, Update, Delete
SELECT
SELECT
Dadas las siguientes tablas:
SELECT (ejemplos)
Obtener cdigo y nombre de los empleados del departamento de Compras y cuyo cdigo sea menor a 7.
SELECT
Obtener el nombre de cada empleado , departamento en el que trabaja y nombre del gte de su departamento
SELECT E.nombre as NombreEmpleado, D.nombre as NombreDpto, S.nombre as NombreGte FROM Empleado E, Empleado S, Departamento D WHERE E.departamento = D.departamento AND D.codigoGte = S.codigo
SELECT
JOIN: combina tuplas de varias tablas con la condicin especificada UNION: realiza la unin de dos conjuntos de tuplas. Tuplas repetidas se eliminan; si queremos ver las repetidas usar UNION ALL.
SELECT * FROM `empleado` WHERE departamento = 1 UNION SELECT * FROM `empleado` WHERE departamento = 2
IN
SELECT E.* FROM Empleado E where codigo in (1,2,5)
SELECT
EXISTS
select E.* from empleado E where exists( Select codigoGte from departamento where codigo = E.departamento and codigoGte <> E.codigo) Recuperar los empleados de cada departamento que no son gerentes. Otra opcin: Select E.* from departamento D, empleado E where D.codigo = E.departamento and D.codigoGte <> E.codigo
SELECT
AND, NOT, OR, IS NULL MAX, MIN, SUM, COUNT, AVG, DISTINCT Select max(salario), min(salario), avg(salario), sum(salario) from Empleado
Obtener los distintos montos de salarios: Select distinct(salario) from Empleado Obtener la cantidad de empleados Select count(*) from Empleado
SELECT
SELECT
LIKE
Para buscar cadenas SELECT * FROM Empleado WHERE nombre like '%na%'
ORDER BY
SELECT * FROM `Empleado` order by salario desc, nombre asc
Supongamos que tenemos una tabla de telfonos, pero no todos los empleados tienen.
INSERT
Agrega uno o ms registros a una tabla. Sintaxis: INSERT INTO ''tabla'' (''columna1'',[''columna2,... '']) VALUES (''valor1'', [''valor2]) Ejemplo:
INSERT INTO ESTUDIANTE (numero, nombre) VALUES (1, Ana), (2, Gonzalo);
INSERT (continuacin)
Ejemplo: Insertar en la tabla EstudiantesViejos, los estudiantes con cdigo menor a 10.000
INSERT INTO EstudiantesViejos
(codigo, nombre)
DELETE
Borra tuplas de una tabla Sintaxis: DELETE FROM <Tabla> <WHERE cond> Ejemplos:
borrar todos los empleados DELETE FROM Empleados borra todos los clientes con cdigo mayor a 1000 DELETE FROM Cliente WHERE codigo > 1000;
UPDATE
Ejemplos:
UPDATE Estudiante set nombre=Ana, apellido=Bollella where codigo = 1 UPDATE Cliente set comision= comision*1.5 where localidad IN (Punta del Este, La Paloma)
ORACLE
Desc <Table>: describe estructura de una tabla Select table_name from user_tables
Eliminacin de registros con claves forneas Una de las principales bondades de las claves forneas es que permiten eliminar y actualizar registros en cascada.
Con las restriccciones de clave fornea podemos eliminar un registro de la tabla cliente y a la vez eliminar un registro de la tabla venta usando slo una sentencia DELETE. Esto es llamado eliminacin en cascada, en donde todos los registros relacionados son eliminados de acuerdo a las relaciones de clave fornea. Una alternativa es no eliminar los registros relacionados, y poner el valor de la clave fornea a NULL (asumiendo que el campo puede tener un valor nulo). En nuestro caso, no podemos poner el valor de nuestra clave fornea id_cliente en la tabla venta, ya que se ha definido como NOT NULL. Las opciones estndar cuando se elimina una registro con clave fornea son: ON DELETE RESTRICT ON DELETE NO ACTION ON DELETE SET DEFAULT ON DELETE CASCADE ON DELETE SET NULL ON DELETE RESTRICT es la accin predeterminada, y no permite una eliminacin si existe un registro asociado, como se mostr en el ejemplo anterior. ON DELETE NO ACTION hace lo mismo. ON DELETE SET DEFAULT actualmente no funciona en MySQL - se supone que pone el valor de la clave fornea al valor por omisin (DEFAULT) que se defini al momento de crear la tabla. Si se especifica ON DELETE CASCADE, y una fila en la tabla padre es eliminada, entonces se eliminarn las filas de la tabla hijo cuya clave fornea sea igual al valor de la clave referenciada en la tabla padre. Esta accin siempre ha estado disponible en MySQL. Si se especifica ON DELETE SET NULL, las filas en la tabla hijo son actualizadas automticamente poniendo en las columnas de la clave fornea el valor NULL. Si se especifica una accin SET NULL, debemos asegurarnos de no declarar las columnas en la tabla como NOT NULL.