viernes, 13 de abril de 2012

Base de Datos.

 Es un conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo.

Tipos de Lenguaje
DDL ( lenguaje de definición) de datos, incluye órdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que más varia de un sistema a otro).

DCL (lenguaje de control) de datos, contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros.

DML (lenguaje de manipulación) de datos, nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados.

MODELOS DE DATOS

MODELO RELACIONAL: todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos los datos y las relaciones entre ellos se representan mediante un conjunto de tablas.

MODELO RELACIONAL

  • Tupla: cada una de las filas de una relación. Contiene la información relativa a una única entidad.
  • Atributo: cada una de las características que posee una entidad, y que agrupadas permiten distingirla de otras entidades del mismo conjunto.
  • Nulo: (NULL) valor asignado a un atributo que indica que no contiene ninguno de los valores del dominio de dicho atributo.
  • Dominio: Rango o conjunto de posibles valores de un atributo.
MODELO JERARQUICO: almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol (similar a un árbol visto al revés), en donde un nodo padre de información puede tener varios nodos hijo.

MODELO JERARQUICO
MODELO RED: es un Modelo de base de datos concebido como un modo flexible de representar objetos y su relación.
MODELO ORIENTADO A OBJETOS: es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento.


MODELO RELACIONAL

Esta basado en una percepcion del mundo real que consta de un conjunto de objetos basicos llamados entidades y de relaciones entre estos objetos.
  • ENTIDAD: es una cosa u objeto en el mundo real que es distinguible de todos los demas objetos.
  • El modelo relacional tambien contiene Atributos simples y compuestos, Atributos univalorados y multivalorados, atributos nulos, atributo derivado.
  • Conjunto de relaciones binarias: Uno a uno, uno a varios, varios a uno, varios a varios.
  • Entidad DEBIL: Un conjunto de entidades puede no tener suficientes atributos para formar una clave primaria tal conjunto de entidades se denomina conjunto de entidad debil.
  • Entidad FUERTE: un conjunto de entidades que tiene como clave primaria se denomina conjunto de entidades fuerte. 
modelo E-R SIMPLE
MODELO E-R EXTENDIDO

Su principal caracteristica E-R extendidas de especializacion, generalizacion, conjuntos de entidades de nivel mas alto y bajo, atributos heredados y agregacion.

  • Generalizacion: Es una relacion contenida que existe entre el conjunto de entidades de nivel mas alto y uno o mas conjuntos de entidades de nivel mas bajo.
  • Herencia: Los atributos de los conjuntos de entidades de nivel mas alto se dice que son heredados.
  • Agregacion: es una abstraccion a travez de la cual las relaciones se tratan como entidades de nivel mas alto.
Comandos para crear una tabla:

Crear una tabla: Create Table nombre_tabla
Alterar una tabla ALTER TABLE "nombre_tabla" 
Insertar datos en una tabla: INSERT INTO "nombre_tabla" ("columna1", "columna2", ...)
VALUES ("valor1", "valor2", ...).
PRIMARY KEY, que indica que la columna es la llave primaria de la tabla.
BETWEEN Comando para obtener datos entre dos valores, tanto numéricos como de tipo Date o numerico 
 


 EJEMPLOS
Ejemplos Between
Select Nombre
From Alumno
Where fecha between '1/1/1980' and '31/12/1980'

ALTERAR TABLA

alter table alumno_br
add(constraint alumno_br_jefegrupo_fk foreign key (jefegrupo) references alumno_br);

Subconsulta
select idagencia, direccion
from agencia_ho
where nombre >(select AVG (direccion)
from agencia_ho);

Crear secuencia

create sequence s_curso_idcurso
increment BY 1
start with 1
maxvalue 999
Nocache
Nocycle;

Consulta Self-Join
select a.nombre,J.nombre
from alumno_br E, alumno_br J
where a.matricula=J.jefegrupo; 


ENTIDAD RECURSIVA

select E nombre,J nombre
from empleado_lf E, empleado J
where empleado.nomemp=empleado_lf.numjefe;
 


Like
consultas sencillas
select placa
from servicio_ho
where placa
like '%98%' 


equi-Join
SELECT tCoches.matricula, 
              tMarcas.marca, 
              tCoches.modelo, 
              tCoches.color, 
              tCoches.numero_kilometros, 
              tCoches.num_plazas FROM tCoches, tMarcas WHERE tCoches.marca = tMarcas.codigo