Sunteți pe pagina 1din 16

CAPITULO UNO: BASE DE DATOS DEFINICION E IMPORTANCIA

1.- ENFOQUE ACTUAL


A. La Informacin:
Conjunto de datos procesados de modo que tengan SIGNIFICADO y VALOR para
el receptor obtienendo asi conclusiones e implicaciones.
B. Aspectos relevantes en un Sistema de Informacion:
I) Capacidad:
Mayor volumen de Informacin
Llegar a mas clientes y usuarios
Crecer a medida de las necesidades
Ser mas eficientes en nuestros procesos
II) Control:
Mejor manejo de la informacin
Mas exactitud en los procesos, minimizando los errores.
Conocer mejor los procesos de informacin.
Mas orden, menos caos.
III) Costos:
Saber en que se invierte y gasta
Optimizar recursos
Reducir tiempos de trabajo y por consiguiente costos de recursos
humanos, y perdidas por falta de control
IV) Comunicacion:
Integracin de las reas
Mejores conductos para compartir informacin
Mantener la informacin siempre actualizada y compartida para todos
aquellos que la requieran
No interesa donde estn ubicados los clientes o usuarios, la informacin
va hacia ellos.
V) Competencia:
Ser mas fuertes ante la competencia
Brindar mejores servicios en el mercado
Ser vistos como una empresa moderna y que emplea tecnologas de
punta
Ingresar a mercados complejos
C. La Ingenieria de la Informacion
Tcnicas automatizadas que permitirn brindar la informacin necesaria a
quien la requiera en el momento oportuno, caractersticas:

Generadores de Aplicaciones.
Centros de Informacin.
Administracin de datos.
Modelamiento de datos.
Conocimiento.

Prototipo.
2. LAS BASES DE DATOS
A. Definicion
Serie de datos organizados y relacionados entre si, los cuales son recolectados
y explotados por el sistema de informacin de una empresa o negocio en
particular.
Una coleccin de datos interrelacionados que proporcionan un entorno que sea
tan prctico como eficiente de usar en la recuperacin y el almacenamiento de
la informacin.
B. DBMS
Suministra herramientas que permitan manipular, en trminos abstractos, los
datos, sin necesariamente conocer el modo de almacenamiento de los datos en
la computadora, ni el mtodo de acceso empleado (BD SGBD)
C. Componentes de un DBMS
Datos: Son la base de datos propiamente dicha
Hardware: Son los dispositivos de almacenamiento en donde reside la
base de datos.
Software: Conjunto de programas conocidos como SGBD o DBMS.
Usuarios: Tres categoras (programador de aplicaciones, usuario final y
el administrador de la base de datos)
D. Objetivos de las Bases de Datos

Globalizacin de la informacin
Eliminar informacin redundante e incongruente
Permite compartir informacin y mantener su integridad
Independencia de datos
Eliminar la dificultad en el acceso de los datos

3. VENTAJAS Y DESVENTAJAS DE LAS BD


VENTAJAS
I.

II.

III.

Respecto a los Datos


Independencia de estos respecto de los tratamientos y viceversa.
Mejor disponibilidad de los mismos.
Mayor eficiencia en la recogida, codificacin y entrada.

Respecto a los Resultados


Mayor coherencia.
Mayor valor informativo.
Mejor y ms normalizada documentacin de la informacin.

Respecto a los Usuarios


Acceso ms rpido y sencillo de los usuarios finales.
Ms facilidades para compartir los datos por el conjunto de los usuarios.

Mayor flexibilidad para atender a demandas cambiantes.

DESVENTAJAS
I.

II.

Referida a la Implantacin
Costosa en equipos (lgico y fsico).
Ausencia de estndares.
Larga y difcil puesta en marcha.
Rentabilidad a mediano plazo

Referida a los Usuarios


Personal especializado.
Desfase entre teora y prctica.

4. ARQUITECTURA DE LAS BS
Un objetivo de las BD es proporcionar una visin abstracta de los datos. Es
decir el sistema oculta detalles relativos a la forma en que se almacenan y
mantienen los datos. Esto se logra definiendo tres niveles de abstraccin en los
que puede considerarse la base de datos:
Externo (Vistas de Usuarios)
Lgico (Vistas de administrador de la BD)
Fsico (Vistas del programador logico)
5. Importancia de las BD
Una base de datos bien diseada y alimentada no es ms que una herramienta
de consulta pura y dura. Este es el verdadero valor aadido que le da a una
empresa, ya que le permite combinar cualquier informacin con todo tipo de
consultas que se le formulen. Disponer de una buena base de datos significa
controlar la amplia gama de informacin con la que trabaja cualquier tipo de
negocio.
Recuerde que .
Los sistemas de base de datos se disean para manejar grandes cantidades de
informacin.
El manejo de los datos implica tanto la definicin de estructuras para el
almacenamiento como la creacin de mecanismos para manejar la
informacin.
El sistema de base de datos debe cuidar la seguridad de la informacin
almacenada en la BD, previniendo cadas del sistema o intentos de acceso no
autorizados.
Si se comparte la informacin entre varios usuarios el sistema debe evitar
posibles resultados anmalos.
Especificacin de Requisitos:

Define necesidades. Recolectados y analizados al detalle para asi


compararse durante su ejecucin.

Base para especificar las restricciones de alcance, tiempo, costo y calidad


Se puede realizar a travs de : Entrevistas, lluvia de ideas, delphi, focus
group, Cuestionarios, Observacin o Prototipos.
Separados en Funcionales y no funcionales

Diagrama de Flujo de Datos - DFD:

Es una representacin grfica del "flujo" de datos a travs de un SI.


Se logra visualizar la forma en que el sistema funcione, lo que el SI va a
lograr, y cmo se pondr en prctica.
Su desarrollo ayuda en la identificacin de los datos de la transaccin en el
modelo de datos.
Los diagramas derivados de los procesos principales se clasifican en
niveles, los cuales son:

Nivel 0: Diagrama de contexto.


Nivel 1: Diagrama de nivel superior.
Nivel 2: Diagrama de detalle o expansin.

o
o
o
o

CIRCULO: Proceso
BARRAS PARALEAS HORIZONTALES: Almacn
RECTANGULO: Entidad externa
FLECHAS: Flujo de datos.
CAPTULO 2: EL MODELO LGICO

1. Importancia del Modelamiento


A. Definicin de Modelo
Es una representacin de la realidad
Dependen del punto de vista del que lo construye y vista de diferentes
maneras, de acuerdo a quien la aprecie.
Mientras mas informacin y conocimiento tengamos de la realidad a
modelar, ser mas cercano a dicha realidad.
B. La Metodologa
Es necesario aplicar metodologa
Documentar
Programar
Disear B.D. acordes con el anlisis
Disear interfases
Generar cdigos
Hoy en da las metodologias vienen acompaadas de herramientas
Herramientas CASE
Herramientas visuales
RDBMS
C. Importancia del Modelamiento

Elemento importante a la hora de iniciar el desarrollo de cualquier


proyecto.
Es la estructura, sobre la que realmente reside la verdadera esencia de la
aplicacin.
Puede determina si el proyecto va a cumplir con su verdadero objetivo.
Tcnica independiente de la implementacin a la BD. (siempre busca que
se saque el mximo provecho de diversas herramientas).
El esquema final y su implementacin pueden sufrir cambios sin afectar de
manera drstica la Lgica de Programacin.
Uno de los puntos importantes que se deben indicar es que el modelado de
los datos, debe ser llevado como una gua general.
Para los profesionales expertos, esto implica el desarrollo de los Diagramas
de Entidades y del Modelo Entidad-Relacin.
Independientemente de la metodologa a utilizar, esta herramienta siempre
ser importante, para entender las relaciones entre las diversas entidades
en la Base de Datos

2. Mtodo Entidad Relacin


A. Definicin del MER
Muestra como se interrelacionan la informacin resultante de las principales
actividades del rea en estudio
Posibilita un mejor entendimiento del flujo de informacin de cada actividad de
inters dentro del sistema actual
El MER se plasma grficamente en el denominado Diagrama Entidad Relacin,
conocido tambin como DER
B. Conceptos Asociados:
Representacin grfica de entidades, atributos y relaciones. Elementos:
Entidad:
o Es un ente relevante para el negocio, en el cual se almacenan datos.
Especficas: Personas, lugares, cosas
Abstractas: Conceptuales, eventos
o Una entidad tiene ocurrencias ( sustantivos propios )
Atributo:
o Propiedad de una identidad.
o Los datos almacenados en las entidades estn representados por los
atributos.
o Un atributo es un dato elemental que:
Califica - Identifica - Clasifica - Cuantifica - Expresa el estado de una entidad
o Dominio: Conjunto de valores posibles para un atributo. Bsicos: Texto
Nmero F / H
o Claves:
Candidata: Combinacin de uno o ms atributos que identifican a
una entidad.
Primaria: Clave candidata elegida como identificador nico de la
entidad.
Alternas: Claves candidatas no elegidas como Clave Primaria.
Relaciones:
o Asociacin bidireccional entre dos entidades.
o Una relacin se define por:

Cardinalidad: uno a uno, uno a muchos, muchos a muchos.


Opcionalidad: Opcional u obligatoria.
Herencia: Fuerte o dbil.
Descripcin: Descripcin de la relacin (por sentido):
Uno a uno: 1 ocurrencia de una entidad <> con 1 ocurrencia de
otra entidad.
Uno a muchos: 1 ocurrencia <> con N ocurrencias de otra
entidad.
Muchos a muchos: Varias ocurrencias <> con N ocurrencias de
otra entidad.

Supertipos y Subtipos:
o Las entidades sub tipos heredan caractersticas de otra entidad super
tipo, a travs de atributos comunes.
Captulo 4: El Modelo Fsico
1. El Modelo Fsico Relacional
A. Definicion
Del concepto de Relacin Matemtica: cada ENTIDAD es representada por
una Relacin
Dentro del Modelo Relacional se denomina a Relacin ( o Tabla ) a cada
una de las Entidades representadas.
Los datos que se almacenan
OCURRENCIAS de la Relacin.

en

ellas

es

lo

que

se

denomina

B. Beneficios
La BDR est compuesta por una coleccin de Relaciones (Tablas)
bidimensionales simples, pero disciplinadas
El Modelo Relacional esta orientado hacia 3 aspectos sustanciales de los
datos:
ESTRUCTURA
INTEGRIDAD
MANIPULACION
C. Aspectos del Modelo Relacional
La Estructura Relacional
El Modelo Relacional permite analizar las Relaciones y determinar los
componentes que conforman cada una de ellas.
CONCEPTOS DE LA ESTRUCTURA RELACIONAL
RELACION
ATRIBUTO
TUPLA
DOMINIO
Relaciones:
O Tablas ( aunque existe una diferencia para el modelo relacional entre
Tabla y Relacin)

Cada Tabla es una Entidad diferente


Las Tablas almacenadas en la Base de Datos se denominan Tablas Bases
Las que se crean a partir de ellas se denominan Tablas Virtuales (Memoria)
Cada Relacin posee un nombre que esta asociado con los datos que
almacena.
Cada relacin esta formada a su vez por ATRIBUTOS y TUPLAS.
Atributos :
Es un elemento de Datos que describe a la Entidad representada por
medio de la Tabla, que en su implementacin conforma lo que seria una
Columna de dicha Tabla.
Cada Atributo posee un nombre que normalmente sugiere el tipo de datos
que se almacenara en dicho atributo.
Tuplas :
Se denomina as a cada Fila de la Relacin (Tabla ).
Cada Tupla refleja una ocurrencia de la Relacin
Dominio :
Conjunto de valores permitidos para un Atributo, validado por reglas
convencionales o del negocio.
Su implementacin en una Base de Datos libera a la misma de los famosos
errores tontos de los usuarios.
Existen los dominios simples ( sexo, e. civil, notas )
Existen los dominios compuestos ( fecha de ingreso, dia, mes, ao )
PROPIEDADES DE LAS RELACIONES
NO EXISTEN TUPLAS REPETIDAS
LAS TUPLAS Y LOS ATRIBUTOS NO ESTAN ORDENADOS
TODOS LOS ATRIBUTOS TIENEN VALORES ATOMICOS
Recuerde que
El ANSI ha establecido al SQL como el lenguaje estndar para operar sobre
las BDR.
El SQL se divide en 2 sub-lenguajes bsicamente : el DDL (Data Definition
Language) y el DML (Data Management Language)
SQL : Structured Query Lenguage
C. Aspectos del Modelo Relacional: Integridad de los datos
INTEGRIDAD DE LOS DATOS
Permiten indicar a la BD ciertas restricciones propias del mundo real.
Por ejemplo, la de no permitir dentro de una Tabla de alumnos, tuplas cuyo
atributo EDAD sea menor que cero.
Podramos citar mas reglas, como por ejemplo que el distrito del alumno
OBLIGATORIAMENTE provenga de cierta TABLA de distritos, o que el cdigo
del alumno sea nico por cada alumno.

El modelo Relacional incluye 2 reglas generales , aplicables para todas las


bases de datos que se incluyan bajo este modelo. Estas 2 reglas estn
asociadas a los conceptos de:
Llaves Primarias
Llaves Forneas
Estas 2 reglas son :
Regla de Integridad de Entidades
Regla de Integridad Referencial
A estas reglas se les conoce como "METARREGLAS" o tambin
"CONSTRAINTS".
LLAVE PRIMARIA (PRIMARY KEY - PK)
Es una columna o grupo de columnas que identifican de manera nica a
cada rengln ( fila ) de la Tabla.
Como es un identificador nico , no se aceptan duplicados en la Llave
Primaria.
El valor de la Llave Primaria generalmente no se puede cambiar.
Las Llaves Primarias que constan de mas de una columna se llaman Llaves
Compuestas
LLAVES ALTERNAS :
Una Tabla puede tener mas de una columna o combinacin de columnas
que pueden servir como la Llave Primaria de la tabla.
Cada una de ellas se denomina Llave Alterna o Candidata.
Por ejemplo en una Tabla de Clientes podemos establecer como Llaves
Candidatas al Cdigo del Cliente y al RUC.
O tambin, dentro de una tabla de Empleados podramos elegir la Llave
Primaria entre el Cdigo del Empleado o su Libreta Electoral.
En resumen podramos afirmar que las Llaves Candidatas deben cumplir 2
caractersticas:
UNICIDAD
MINIMALIDAD
REQUISITOS PARA CANDIDATEAR
UNICIDAD : Que garantiza que en cualquier momento no existirn 2 tuplas
con la misma Llave Primaria.
MINIMALIDAD : Que garantiza que si la Llave es compuesta, no podremos
eliminar ninguno de sus componentes sin romper la propiedad de
UNICIDAD.
EN CONCLUSION :
Las Llaves Primarias son importantes ya que , el nico modo que garantiza
el Modelo Relacional de acceder una tupla especifica es por medio del valor
de su Llave Primaria.
Adems , permitirn el manejo de las Llaves Forneas.
LLAVES FORANEAS (FOREIGN KEY) :
Una Llave Fornea (FK) es una columna o combinacin de columnas dentro
de una tabla que se refieren a una Llave Primaria de otra tabla.
La relacin (tabla) que contiene la Llave Fornea se le conoce como
Relacin Referencial y a la que contiene la Llave Primaria como Relacin
Objetivo.

La Llave Fornea no necesariamente puede formar parte de la Llave


Primaria de una Relacin. En la Relacin "EMPLEADOS" la Llave Fornea
CARGO" no es parte de la Llave Primaria.
Sin embargo, en las Relaciones producto de Entidades Asociativas la Llave
Primaria esta compuesta por las Llaves Forneas provenientes de las Llaves
Primarias de las Entidades que se asocian.
Las Llaves Forneas sirven para hacer "JOIN" (UNION) de tablas.
La Llave Fornea puede ser repetida o nula
LAS MEGARREGLAS O CONSTRAINTS DE INTEGRIDAD DE DATOS
Las MEGARREGLAS o CONSTRAINTS deben ser forzados por el propio DBMS
o de lo contrario por el Software de Aplicacin.
Las dos MEGARREGLAS mas importantes son como ya se mencionaron :
Los Constraints de Integridad de Entidades
Los Constraints de Integridad Referencial
LOS CONSTRAINTS DE INTEGRIDAD DE ENTIDADES :
Por medio de ella se asegura que la Llave Primaria no puede ser NULA.
Y esto es lgico ya que las tablas almacenan informacin proveniente del
mundo real, del cual siempre existirn objetos distinguibles.
LOS CONSTRAINTS DE INTEGRIDAD REFERENCIAL :
Una llave Fornea debe coincidir con un valor de la Lleve Primaria, es decir,
el valor de la llave fornea debe ser concordante con algn valor de la Llave
Primaria relacionada.
Existen 3 formas de asegurar la Integridad Referencial en caso de sufrir
alguna variacin el valor de la Llave Primaria de donde proviene la
respectiva Llave Fornea :
RESTRINGIDA
DE CASCADA
ANULACION
C. Aspectos del Modelo Relacional:
Manipulacin de los datos
OPERACIONES BASICAS CON LOS REGISTROS DE UNA TABLA
ADICIONAR
ACTUALIZAR
ELIMINAR
LOGICAMENTE
FISICAMENTE
CONSULTAR
2. Del Modelo Lgico al Modelo Fsico
A. Sistema de Control Administrativo
3. Refinamiento del modelo
fsico: La Normalizacin
Introduccin
Redundancia de datos. Uso excesivo de espacio en disco.

De actualizacin: informacin repetida en varias entidades.


De insercin: informacin no relevante en el momento de insertar.
De eliminacin: Eliminar un registro produce la eliminacin de informacin
relacionada.
A. Definicin:
Proceso de refinamiento del modelo de datos.
Consiste en dividir las entidades complejas en entidades ms simples,
relacionadas entre s.
B. Ventajas de la normalizacin
Eliminar la redundancia de informacin.
Eliminar inconsistencias de datos.
Evitar las anomalas de insercin, actualizacin y eliminacin.
Reducir el impacto de hacer cambios en el modelo de datos.
C. Formas Normales
Primera forma normal (1FN)
1. La tabla tiene llave primaria
2. Slo se permiten valores nicos para los atributos (Ejm: En un campo
telfono, solo puede registrarse solo un telfono).
Pasos:
Todos los grupos repetitivos son removidos y separados en otra entidad.
Se identifican las claves primarias de cada entidad.
Se relacionan ambas entidades.
Segunda forma normal (2FN)
1. Debe estar en 1FN
2. No deben existir atributos no clave que dependan slo de una parte de la
clave primaria.
Pasos:
Separar los atributos que no dependen de la totalidad de la clave primaria,
y formar con ellos una entidad.
Identificar las claves primarias de cada entidad generada.
Tercera forma normal (3FN)
Debe estar en 2FN
Son eliminadas todas las dependencias transitivas: atributos que pueden
ser el resultado de otros atributos.
Cuarta forma normal (4FN)
Son eliminados todos los atributos multivaluados: atributos con ms de un
valor.
Los atributos multivaluados se extraen y con ellos se crean nuevas
entidades.
Quinta forma normal (5FN)
Llamada tambin formal normal Proyeccin Unin (JPNF).
Se utiliza para simplificar el diseo de tres entidades conectadas entre s
con relaciones muchos muchos.
La 5FN resuelve el problema a travs de una entidad asociativa

Resumen
1 FN - Debe tener Llave Primaria
1 FN No tener mas de un valor para un atributo
2 FN Separar atributos independientes
3 FN Incluir Dependencias Transitivas
4 FN Eliminar multivalores
5 FN Incluir entidades asociativas para relaciones M a M
LENGUAJE SQL ( lenguaje de consultas estructurado)
DEFINICION:
lenguaje declarativo(q dices lo q necesitas pero no t dice como lo vas a
resolver ) de acceso a BD relacionales. Especifica diefrentes operaciones en
estas.
Es un standar en toda industria de dbms
Dividido en dos partes: DDL lenguaje definicion de data base ( crear dindice
vistas tablas, alterar una table, truncar una tabala q kiere decir borarla y
crearla de nuevo) y DML Lenguaje de manipulaciond e data 8 ingresar borar
registros )
Sentencia CREATE:
En una base de datos podemos crear: tablas, relaciones, indices, vistas
triggers(DESENCADENANTES) roles usuarios. Solo veremos en CREATE TABLE.
MS SQL Server 2005/2008:
SQL es un standar con caracteristicas entendibles, pero se le realizaron
mejoras, se le AADIO algo especial.
Versions: consta de varias ediciones: express ( parecida al access q es gratuita
) workgroup( aplicaciones para areas y departamentos) standard ( para
medianas empresas, capacidades limitadas ) y enterprise ( con todas las
caracteristicas, para una empresa grande )
Instalacion: lo qnecesitamos .
1 elegir el modo de autenticacion: los usuarios son diferentes con beneficios
diferentes. El sql server tiene sus propios sistemas de seguridad = o elegimos
la seguridadd e windows o la seguridad del sql server o ambas.
2 configuracion de intercalacion: respecto a las fechas.
3 configuracionde archives: se tiene q pensar donde guarder los archives.
4 configurar el correo de la BD: xq tiene un sistemade w de e-mail, y realizar
configuraciones.

5 Especificar el esenario de recuperacion: si la base de datos falla, como


recupero la info? Tiene varios mecanismos de recuperacion
6 configurar la seguridad: kines ingresan y q tablas se mostraran
7 configurando el cifrado / certificados: se puede especificar el cifrado de cierta
informacion
7 configuracion de servidores vinvulados: cuando se configure la bd con otras
a las cuales podemos hacer uso, ejemplo eltipo de cambio del dolar
Uso del SQL server:
Database new database yd e ahi en el cuadro q sale y nombramos como
PRUEBA, se creara una carpeta .
query: ahi es donde pongo todas las sentencias, ejm: de seleccion de
informacion.
*: nos trae los registros.
No todas las bases de datos guardan los mismos tipos de datos, ejemplo
Oracle guarda el tipo de dato clock
Tipos de datos:
Numericos exactos y aproximados: Se diferencian en el numero de decimales y
enteros q va a guardar Decimal (10,4) 999999.9999 10 caracteres en total 4
decimales
Fecha y hora: son ilimitados los rangos
Cadenas
Cadenzas de caracteres con Unicode: Unicode es para mezclar varios idiomas.
Cadenas binarias:
STRING NO EXISTE EN MS SQL SERVER
Var: siempre va a separar una cantidad predefinida de characters, por mas que
lo ingresado sea menor q lo ya separado
VARCHAR: dispone lo necesario.
Las BD se organizan mejor con los Var x lo q son datos fijos.
Los bit se usan para variables de decision, si o no.
NOT NULL: no permite guardar datos que sean nulos

IDENTITY: automtico. Lee el anterior rubro de registro y lo repite ( no lo deja


en digital) y has le aumenta un una unidad!+}
Ejercicio tabla cliente
CREATE TABLE Cliente (
Codigo_Cliente INT NOT NULL ,
Apellido_Pat VARCHAR(20) NULL ,
Apellido_Mat VARCHAR(30) NULL ,
Codigo_Sexo VARCHAR(1) NULL ,
Fecha_Nacimiento DATETIME NULL ,
Fecha_Ingreso DATETIME NULL )

Ejercicio Tabla Alumnos


CREATE TABLE Alumnos (
Codigo_Alumno INT NOT NULL ,
Apellido_Pat VARCHAR(20) NULL ,
Apellido_Mat VARCHAR(30) NULL ,
Grado VARCHAR(30) NULL ,
Direccion VARCHAR(100) ,
DNI DECIMAL(8,0) NULL ,
Fecha_Nacimiento DATETIME NULL )

Ejercico de los profesores


CREATE TABLE Profes (
Codigo_Profesor INT IDENTITY (5,2) ,
Apellido_Pat VARCHAR(20) NULL ,
Apellido_Mat VARCHAR(30) NULL ,
Grado VARCHAR(30) NULL ,
Domicilio VARCHAR(100) ,
DNI DECIMAL(8,0) NULL ,

Fecha_Nacimiento DATETIME NULL )

DROP TABLE: Para borar tablas ----- Drop table clients


DEFAULT: para que llene por defecto un mensaje en en caso no se coloque
nada
CREATE TABLE Profesores (
Codigo_Profesor INT IDENTITY (5,2) ,
Apellido_Pat VARCHAR(20) NULL ,
Apellido_Mat VARCHAR(30) NULL ,
Grado VARCHAR(30) NULL ,
Domicilio VARCHAR(100) ,
DNI DECIMAL(8,0) NULL ,
Fecha_Nacimiento DATETIME NULL ,
Nivel_Academico VARCHAR(20) DEFAULT 'MAESTRO' )

UNIQUE: para indicar que ese dato es uniko e irrepetible y la base de datos no
permitira quue se repita
CREATE TABLE Profesores_unicos ( Codigo_Profesor INT NOT NULL UNIQUE
NONCLUSTERED , Apellido_Pat VARCHAR(20) NULL , Apellido_Mat VARCHAR(30)
NULL , Grado VARCHAR(30) NULL , Domicilio VARCHAR(100) , DNI DECIMAL(8,0)
NULL , Fecha_Nacimiento DATETIME NULL , Nivel_Academico VARCHAR(20)
DEFAULT 'MAESTRO' )

PRIMARY KEY: decimos que ese campo es llave primaria, en automatico sabe
que ese dato YA no se puede repeetir.
CREATE TABLE Maestros_unicos ( Codigo_Maestro INT IDENTITY (1,1) primary
key , Apellido_Pat VARCHAR(20) NULL , Apellido_Mat VARCHAR(30) NULL ,
Grado VARCHAR(30) NULL , Domicilio VARCHAR(100) , DNI DECIMAL(8,0) NULL ,
Fecha_Nacimiento DATETIME NULL , Nivel_Academico VARCHAR(20) DEFAULT
'MAESTRO' )

FORREING KEY: SOLO HACE REFERENCIA a la PK de la table a mencionar


23/06/2009
INNER JOIN: Traeme todas las direcciones de los empleados:
select * from HumanResources.Employee AS E
INNER JOIN HumanResources.EmployeeAddress AS EA
ON E.EmployeeID = EA.EmployeeID

Sin colocar inner u oter el DEFAULT es inner


OUTER JOIN: regresa todos lo valores
select * from HumanResources.Employee AS E
LEFT OUTER JOIN HumanResources.EmployeeAddress AS EA
ON E.EmployeeID = EA.EmployeeID

EJERCICIO: kiero saber cual es el cargo fecha nac sexo, meta para ese mes y el
bono que recibiria !
select e.title , e.birthdate , e.gender , sp.salesquota , sp.bonus
from HumanResources.Employee AS E
INNER JOIN Sales.SalesPerson AS SP
ON E.EmployeeID = sp.salespersonID
ORDER BY title ASC

Traer la fecha de la orden, status ( estado en el q esta la orden ) costumer id


( client). En detalle deseo conocer eol prdouctid( q product estoy comprando)
orderquantity ( cantidad) y el unit price( precio unitario). Lo relaciono con el
primarity.
select soh.OrderDate , soh.Status , soh.CustomerID , sod.ProductID ,
sod.OrderQty , sod.UnitPrice
from Sales.SalesOrderHeader AS soh
INNER JOIN Sales.SalesOrderDetail AS sod
ON soh.SalesOrderID = sod.SalesOrderID

Hay q verificar las relaciones que hay entre las entidades. Y hay q usarlas
segun lo q necesitemos!
select p.productid , p.name , p.productmodelid , pm.productmodelid ,
pm.name
from production.product AS p
INNER JOIN production.productmodel AS pm
ON p.productid = pm.productmodelid

Id , nombre_prod , model_id ----- tabla 1


Model_id , nombre --------------- table 2
Id , nombre_prod , model_id , nomnre -- tabla final
select ca.customerid , ca.addresstypeid , ca.modifieddate ,
a.addressline1 , a.addressline2 , a.city
from sales.customeraddress AS ca
INNER JOIN person.address AS a
ON ca.addressid = a.addressid

Recomendacion:
El * esta pidiendo todos los campos de la table, x lo tanto recargan y saturan el
trabajo de la BD.

Pensar en conjunto
SELECT * INTO: genera tablas a paritr de otras
select ca.customerid , ca.addresstypeid , ca.modifieddate ,
a.addressline1 , a.addressline2 , a.city
into alfieri
from sales.customeraddress AS ca
INNER JOIN person.address AS a
ON ca.addressid = a.addressid
select * from alfieri

SELEECCION DENTRO DE UNA SELECCION:


select * from HumanResources.Employee as e
where e.employeeid in
( select employeeid from humanresources.employeeaddress )

Agrupaciones, contar, promedio


select SalesOrderID , SUM(LineTotal) AS SubTota, COUNT(1) NroLineas
from Sales.SalesOrderDetail sod
GROUP BY salesorderid
ORDER BY salesorderid

S-ar putea să vă placă și