sábado, 9 de julio de 2011

COMO CREAR UNA TABLA E INSERTAR DATOS

FORMAS NORMALES


Formas Normales

Las formas normales son aplicadas a las tablas de una base de datos. Decir que una base de datos está en la forma normal N es decir que todas sus tablas están en la forma normal N.






Diagrama de inclusión de todas las formas normales.
En general, las primeras tres formas normales son suficientes para cubrir las necesidades de la mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd.1

Primera Forma Normal (1FN)

Una tabla está en Primera Forma Normal si:
§  Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.
§  La tabla contiene una clave primaria unica.
§  La clave primaria no contiene atributos nulos.
§  No debe existir variación en el número de columnas.
§  Los Campos no clave deben identificarse por la clave (Dependencia Funcional)
§  Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados
Una tabla no puede tener múltiples valores en cada columna. Los datos son atómicos. (Si a cada valor de X le pertenece un valor de Y y viceversa)
Esta forma normal elimina los valores repetidos dentro de una BD

Segunda Forma Normal (2FN)

Dependencia Funcional. Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender únicamente de la clave principal).
En otras palabras podríamos decir que la segunda forma normal está basada en el concepto de dependencia completamente funcional. Una dependencia funcional x \rightarrow y es completamente funcional si al eliminar los atributos A de X significa que la dependencia no es mantenida, esto es que A \in X, X - \{A\} \nrightarrow Y. Una dependencia funcional x \rightarrow y es una dependencia parcial si hay algunos atributos A \in X que pueden ser eliminados de X y la dependencia todavía se mantiene, esto es A \in X, X - \{A\} \rightarrow Y.
Por ejemplo {DNI, ID_PROYECTO} \rightarrow HORAS_TRABAJO (con el DNI de un empleado y el ID de un proyecto sabemos cuántas horas de trabajo por semana trabaja un empleado en dicho proyecto) es completamente dependiente dado que ni DNI \rightarrow HORAS_TRABAJO ni ID_PROYECTO \rightarrow HORAS_TRABAJO mantienen la dependencia. Sin embargo {DNI, ID_PROYECTO} \rightarrow NOMBRE_EMPLEADO es parcialmente dependiente dado que DNI \rightarrow NOMBRE_EMPLEADO mantiene la dependencia.

Tercera Forma Normal (3FN)

La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave.
Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un esquema de relación R es una dependencia transitiva si hay un conjunto de atributos Z que no es un subconjunto de alguna clave de R, donde se mantiene X->Z y Z->Y.
Por ejemplo, la dependencia SSN->DMGRSSN es una dependencia transitiva en EMP_DEPT de la siguiente figura. Decimos que la dependencia de DMGRSSN el atributo clave SSN es transitiva vía DNUMBER porque las dependencias SSN→DNUMBER y DNUMBER→DMGRSSN son mantenidas, y DNUMBER no es un subconjunto de la clave de EMP_DEPT. Intuitivamente, podemos ver que la dependencia de DMGRSSN sobre DNUMBER es indeseable en EMP_DEPT dado que DNUMBER no es una clave de EMP_DEPT.
Formalmente, un esquema de relacion R está en 3 Forma Normal Elmasri-Navathe,2 si para toda dependencia funcional X \rightarrow A, se cumple al menos una de las siguientes condiciones:
1.   X es superllave o clave.
2.   A es atributo primo de R; esto es, si es miembro de alguna clave en R.
Además el esquema debe cumplir necesariamente, con las condiciones de segunda forma normal.

Forma normal de Boyce-Codd (FNBC)

La tabla se encuentra en FNBC si cada determinante, atributo que determina completamente a otro, es clave candidata. Deberá registrarse de forma anillada ante la presencia de un intervalo seguido de una formalizacion perpetua, es decir las variantes creadas, en una tabla no se llegaran a mostrar, si las ya planificadas, dejan de existir.
Formalmente, un esquema de relación R está en FNBC, si y sólo si, para toda dependencia funcional X \rightarrow A válida en R, se cumple que
1.   X es superllave o clave.
De esta forma, todo esquema R que cumple FNBC, está además en 3FN; sin embargo, no todo esquema R que cumple con 3FN, está en FNBC.

Cuarta Forma Normal (4FN)

Una tabla se encuentra en 4FN si, y sólo si, para cada una de sus dependencias múltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave candidata o un conjunto de claves primarias.

Quinta Forma Normal (5FN)

Una tabla se encuentra en 5FN si:
§  La tabla está en 4FN
§  No existen relaciones de dependencias no triviales que no siguen los criterios de las claves. Una tabla que se encuentra en la 4FN se dice que está en la 5FN si, y sólo si, cada relación de dependencia se encuentra definida por las claves candidatas.

ORACLE DE BASE DE DATOS

http://www.youtube.com/watch?v=JNiD2ZFoWN4

COMO CREAR UN BD

http://www.youtube.com/watch?v=nZmuy_E6YLQ&feature=related

BOYCE COOD


FORMA NORMAL DE BOYCE-CODD

La Forma Normal de Boyce-Codd (o FNBC) es una forma normal utilizada en la normalización de bases de datos. Es una versión ligeramente más fuerte de la Tercera forma normal . La forma normal de Boyce-Codd requiere que no existan dependencias funcionales no triviales de los atributos que no sean un conjunto de la clave candidata. En una tabla en , todos los atributos dependen de una clave, de la clave completa y de ninguna otra cosa excepto de la clave (excluyendo dependencias triviales, como A \to A). Se dice que una tabla está en FNBC si y solo si está en 3FN y cada dependencia funcional no trivial tiene una clave candidata como determinante. En terminos menos formales, una tabla está en FNBC si está en 3FN y los únicos determinantes son claves candidatas

Ejemplo

La cuestión es que un trabajador o trabajadora puede trabajar en varios departamentos. En dicho departamento hay varios responsables, pero cada trabajador sólo tiene asignado uno. El detalle importante que no se ha tenido en cuenta, es que el o la responsable sólo puede ser responsable en un departamento. Este detalle último produce una dependencia funcional ya que: Responsable→Departamento Por lo tanto hemos encontrado un determinante que no es clave candidata. No está por tanto en FNBC. En este caso la redundancia ocurre por mala selección de clave. La redundancia del departamento es completamente evitable.
Solamente en casos raros una tabla en 3NF no satisface los requerimientos de la FNBC. Un ejemplo de tal tabla es (teniendo en cuenta que cada estudiante puede tener más de un tutor):
Referencia cruzada de Tutor/Estudiante
ID Tutor
Número de seguro social del tutor
ID Estudiante
1078
088-51-0074
31850
1078
088-51-0074
37921
1293
096-77-4146
46224
1480
072-21-2223
31850
El propósito de la tabla es mostrar qué tutores están asignados a qué estudiantes. Las claves candidatas de la tabla son:
  • {ID Tutor, ID Estudiante}
  • {Número de seguro social del tutor, ID Estudiante}
Por lo tanto los tres atributos de la tabla son atributos primarios, es decir, los tres atributos pertenecen a las claves candidatas.
Recuerde que la 2NF prohíbe dependencias funcionales parciales de atributos no-primarios en las claves candidatas, y la 3NF prohíbe dependencias funcionales transitivas de atributos no-primarios en claves candidatas. Dado que la tabla de arriba carece de cualquier atributo no-primario, está en 2NF y 3NF.
La FNBC es más rigurosa que la 3NF en que no permite ninguna dependencia funcional en la cual el conjunto determinante de atributos no sea una clave candidato (o superconjunto de eso). La dependencia de ID Tutor en Número de seguro social del tutor es ese tipo de dependencia. Por consiguiente, la tabla de arriba no está en FNBC
Cualquier tabla que sea insuficiente en FNBC será vulnerable a inconsistencias lógicas. En la tabla de arriba podía ser representada una combinación inconsistente de ID Tutor y Número de seguro social del tutor.
En este caso, corregir el problema sería una simple cuestión de usar solo un esquema de identificación para los tutores: o el ID, o el número del seguro social, pero no ambos

QUE ES UN ATRIBUTO, ENTIDAD Y RELACION

QUE ES FORING KEY
es un campo agregado en una tabla A que debe contener el valor de la clave primaria de otra tabla B, la cual corresponde al registro de la B con el que un registro de la tabla A se relaciona. Un ejemplo sería: Un vehículo X usa motor de tamaño Y, entonces en el registro del vehículo, donde va el nombre del modelo de motor, va en realidad la clave en la tabla MOTOR donde está la descripción del motor que usa.
Una FK debe cumplir las mismas condiciones básicas de cualquier clave: No puede ser NULL, pero además requiere que esa clave debe existir en la tabla referida, es decir, no puede apuntar a NULL.

QUE ES PRIMARY KEY
sirve para identificar de forma unica un registro!
EJMPLO DE PRIMARY KEY

create table usuarios(
  nombre varchar2(20),
  clave varchar2(10),
  primary key(nombre)
 );
EJEMPLO DE FOREINGKEY
alter table NOMBRETABLA1
  add constraint NOMBRERESTRICCION
  foreign key (CAMPOCLAVEFORANEA)
  references NOMBRETABLA2 (CAMPOCLAVEPRIMARIA);
QUE UNA HERRAMIENTA CASE
Las herramientas CASE (Computer Aided Software Engineering
son diversas aplicaciones informaticas destinadas a aumentar
la productividad en el desarrollo de software reduciendo el coste de las mismas en términos de tiempo y de dinero
 Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de
 vida de desarrollo del software en tareas como el proceso de realizar
un diseño
 del proyecto, cálculo de costes, implementación de parte del código
automáticamente con el diseño dado, compilación automática,
documentación o detección de errores entre otras.

DIBUJO BASE DE DATOS EN EL DIAGRAMA ENTIDAD RELACION

QUE ES UN ATRIBUTO, ENTIDAD Y RELACIO


QUE ES FORING KEY
es un campo agregado en una tabla a que debe contener el valor de la clave primaria de otra tabla b, la cual corresponde al registro de la b con el que un registro de la tabla a se relaciona. un ejemplo sería: un vehículo x usa motor de tamaño y, entonces en el registro del vehículo, donde va el nombre del modelo de motor, va en realidad la clave en la tabla motor donde está la descripción del motor que usa.
una fk debe cumplir las mismas condiciones b
ásicas de cualquier clave: no puede ser null, pero además requiere que esa clave debe existir en la tabla referida, es decir, no puede apuntar a null.

QUE ES PRIMARY KEY
sirve para identificar de forma unica un registro!
EJMPLO DE PRIMARY KEY

create table usuarios(
  nombre varchar2(20),
  clave varchar2(10),
  primary key(nombre)
 );
EJEMPLO DE FOREINGKEY
alter table nombretabla1
  add constraint nombrerestriccion
  foreign key (campoclaveforanea)
  references nombretabla2 (campoclaveprimaria);
QUE UNA HERRAMIENTA CASE
las herramientas case (computer aided software engineering