Documentos de Académico
Documentos de Profesional
Documentos de Cultura
vista
vista
usuario
fsica
-FORMA NORMAL-- fn
1fn
2fn vista usuario
3fn vista fsica
4fn *
5fn *
Primera Forma Normal (1FN) Incluye la eliminacin de todos los grupos repetidos.
Segunda Forma Normal (2FN) Asegura que todas las columnas que no son llave
sean completamente dependientes de la llave primaria (PK).
Tercera Forma Normal (3FN) Elimina cualquier dependencia transitiva. Una
dependencia transitiva es aquella en la cual las columnas que no son llave son
dependientes de otras columnas que tampoco son llave.
1fn
*pk -----------------> llave primaria, campo nico
*atomizar ------------> reducir a u mnima expresin
3*grupo repetitivos -----------------> es un campo que dentro de la misma puede
almacenar mltiples campos
2fn
*limitar dependencia parciales
3fn
*Dependencia Transitiva ---> es cuando un campo depende de otro campo
--Modelador de Datos es un software que le sirve para disear bases de datos.
--diccionario de datos el conjunto de campos que nosotros analizamos
Clase 30-06-2014 lunes
Con los grupos repetitivos debemos crear una nueva identidad
Clase 01-07-2014 martes
2 tipos de tablas en las bases de datos:
Maestras
1
Transaccionales
*los valores de las tablas maestras nunca cambian.
*dependencia transitiva, cuando un campo depende de otro CAMPO
las relaciones que pueden existir en las tablas son:
de 1 a 1
de 1 a muchos
de muchos a muchos
las relaciones siempre estarn relacionadas por 2 tablas
tabla padre o independiente y la otra tabla hijo o dependiente, la cardinalidad, la
forma en que debe fluir la informacin en las tablas padre a hijo una relacin ser
de 1 a muchos si la tabla a un registro se puede relacionar con varios registros de la
tabla b siempre la tabla padre ser 1, y la tabla hijo ser muchos las relaciones de 1
a 1, es cuando para cada registro de la tabla a, solo pueda diferenciar un registro en
la tabla b o viceversa, relacin de muchos a muchos relacin lgica, pero
fsicamente no existe una base de datos que las pueda relacionar que ocurre con
esta relacin de muchos a muchos: en la prctica se divide en 2 relaciones de 1 a
muchos.
Relacin de muchos a muchos no se puede representar en la base de datos
En la tabla padre se puede ingresar la cantidad de registros sin depender de otras
tablas
La tabla hijo los registros de esta depende de los registros de la tabla padre como
se llama la relacin de 1 a muchos, se le llama llave fornea la relacin fsica entre
los 2, si no hay relacin fsica no es llave fornea.
Llave fornea es si existe fsicamente la relacin en las tablas
No porque haya campos iguales en ambas tablas.
CLASE 03-07-2014
create database Matricula
Termino log on, es una bitcora, se almacena las actividades de una base de datos,
historial de lo que hagamos
Datos y Log on, juntos forman una base de datos
Para borrar una base de datos el comando es drop database "nombre"
Para que se pueda borrar no debe estar conectado en esa base de datos que se
quiere borrar
Clausula on, para definir los parmetros de datos
2
"lista de campos"
)
hay dominios entre 20 a 40
En la clase trabajaremos con 6 dominios bsicos:
int, varchar, float, numeric, datetime, bit
el sql server tiene 6 diferentes tipos de enteros.
la diferencia es el rango de valores.
tipo varchar, y nvarchar
nvarchar: para almacenar datos graficos
diferencia entre float y numeric
numeric para usar cualquier cantidad de decimales
el float solo 8 bit permite
--------------------------------------------------------------CLASE 08-07-2014
sp_tables: no es ningn comando, es un procedimiento almacenado de un sistema
dentro de un programa SQL
select * from sysobjects
select * from sysobjects where xtype = 'U' :esto es para ver los tipos en las tablas
de la base de datos
select * from syscolumns
de
programacin
ejemplo
no
permitir
datos
nulos,
ingresar
obligatoriamente
2. integridad declarativa: es todo aquel conjunto de reglas o restricciones que se
colocan en la base de datos.
El objetivo general de ambas integridades es el objetivo especfico de los datos.
CONSTRAINT: Restriccin dentro de una base de datos
Integridad declarativa se divide en:
1. integridad de entidad o identidad: busca conservar la consistencia dentro de
una misma tabla REGISTROS SEAN UNICOS
2. integridad referencial: la referencia en registros de diferentes tablas sean validas
3. integridad dominio:
nueva columna
alter table carrera alter column nombre varchar (100): modificamos la columna
alter table carrera drop column director
: elimina la columna
crear
--para colocar en
alter table alumno add constraint pkalumnocarrera foreign key (carreraid) reference
carrera on delete cascade -> para eliminar la opcin de cascada deshabilitar esta
opcin
al usar este mtodo de cascada debemos tener en cuenta que actualizara todos los
registros que este relacionados en las tablas y haya relacin
si la usamos para eliminar y actualice en las siguientes tablas, hay que tener
cuidado porque si eliminamos el que no era nos creara ms problemas tener que
manualmente ingresar datos que no debimos eliminar
constante 0:
create default dftcero
as
0
constante pi:
create default dftpi
as
3.141539
-------------------------------------------------CLASE 15-07-2014
checks: son condiciones que se ponen en las tablas para restringir informaciones
ejemplo el sexo o el estado civil
alter table <tabla> add constraint <nombre constraint> check (<condicion>)
si una tabla tiene mas de un check la tabla relaciona todos esos check por igual
EN LOS CHECK SOLO EXISTE UNA CONDICION PARA APLICAR
delete: para eliminar registros
delete from <tabla>
un delete incondicional
un delete condicional elimina todos los registros de las tablas
COMO CONDICIONAMOS UN delete:
con el where
-------------------------------------------------------------------------CLASE 17-07-2014
7
go
create rule rnotas as @col between 0 and 100
con esta condicin en cualquier columna que lo apliquemos solo nos aceptaran
nmeros entre 0 y 100
-- todo esto lo ejecutamos 1 por 1, lnea por lnea
go
create rule rnotas as @col between 0 and 100
exec sp_bindrule 'rnotas', 'notas.parcial1'
exec sp_bindrule 'rnotas', 'notas.parcial2'
exec sp_bindrule 'rnotas', 'notas.parcial3'
exec sp_bindrule 'rnotas', 'notas.promedio'
Crear enteros:
--crearemos entegros:
--esta lneas las ejecutamos una por una
create default dftentero as 0
create rule rentero as @col >=0
--tipo de datos entero, procedimiento almacenado:
sp_addtype 'entero', int
sp_bindefault 'dftentero','entero'
sp_bindrule 'rentero','entero'
--creamos un tipo de dato que su valor es cero, no acepta negativos, ya que le
pusimos una regla que los valores sean >=0
create table factura
(
facturaid
clienteid
fecha
subtotal
impuesto
total
)
--en esta tabla hicimos uso del tipo de dato que creamos "entero"
--ahora probemos agregando valores a la tabla:
insert factura (facturaid, fecha) values (1,'2014-01-01')
8
no
aplicamos
el
not
null
en
un
campo
creado
de
la
tabla,
departamentoid
nombre
)
alter
table
departamento
add
constraint
pkdepartamentoid
primary
key
(departamentoid)
alter table departamento add constraint ukdepartamentonombre unique (nombre)
--para poder manipular columnas de campos que tienen IDENTITY
--automaticamente el identity va agregando el valor incrementando en cada vez
que agreguemos nuevas filas de campos
--desventaja del identity no cuenta registros solo cuenta intentos, cada insert que
agreguemos mal o bien cuenta el intento
insert into departamento values('sistema')
insert into departamento values('contabilidad')
--de arriba hacia abajo ordena
select * from departamento