Beruflich Dokumente
Kultur Dokumente
ANSI
La estrucctura tiene 3 niveles:
Nivel Interno: Tambien conocido como nivel fisico. Es la parte con la que estamo
s en con
contacto con la forma en que se guardan. Como se almacenan. Cmoo se acessa a la
informacion
Nivel Externo: O nivel de usuario. Como su nombre lo indica, es la parte de la b
ase de
datos que esta mas en contacto con los usuarios. Este es el encargo de recibir d
e parte
de nosotros todos los requirimientos. Todos cuando hacemos un select, un delete,
un update
se hacen en nivel externo. Nos da respuesta a solicitudes que hacemos.
Nivel Conceptual:
O nivel logico, es la union o comunicar los dos niveles que estan en ambos extr
emos.
es solo servir de enlace en ambos niveles. Es decir para transformaar el nivel e
xternos al nivel
intenerno. Es decir, traducirla, este nivel logico es capaz de entender a ambos
niveles. Y capaz
de hacer las tranformaciones. A esto se le llama Modularidad haciendo un problem
a grande en varios
pequeos.
Herramientas de desarrollo:
Lenguajes Anfitrion, dentro de este, hay otro o sub lenguaje conocido como Incru
stado.
Lenguaje Anfitrion: todas las palabras claves con la cuales construye su program
a: Class, for, while
En java le meaclamos secuancias SQL.
El lenguaje Anfitrions e INcrustado pueden estar fuertes o debilmente ligado.
Debil: Cuando el Anfitrion es incapaz de reconocer el lenguaje del lenguaje incr
ustado
ejemeplo: Java
Fuertemen Ligado: Ejemplo Powerbild, cuando es lenguaje de alto nivel de 4ta o
5ta generacion.
Independencia del Software: Es la inmunidad que tiene un programa haberse afecta
do por cambios
en la base de datos.
insert into Alumons (alumno, nombre) values (1, 'Juan')
Sigue funcionando, aun cuando la estructura de los datos cambien.
Historia:
El primer precursor de las bases de datos es: Herman Hollerith, esposa de babash
,
en la decada de 1980 crea una maquina para procesar el censo de los estados Unid
os.
EL primero se declaro desierto. EMpresa que fundo Herman Hollerith IBM,
IBM, los cambiios mas fuertes o aportes mas fuertes vinieron de parte de IBM.
EF. Codd : Matematico, planteo una teorio. Modelo relacional. Que importancia ti
ene? Sento las
bases de lo que nosotros conocemos en la actualidad como bases de datos.
* Aspecto Estructural: La informacion en una base de datos va a estar en forma
de
tablas, y nada mas que una tabla.
*Aspecto Integridad. Que los datos sean consistentes. Las tablas deben cumplir c
on ciertas
reglas. Como conservamos la consistencias.
*Aspecto Manipulacion: Como los vamos hacer llegar a los datos y como los manipu
lamos. Se refiere
a los comando u operaciones que nosotros vamos a utilizar sobre la base de datos
.
* 1975: System R. 1 ,2,3 Como el primer motor de base de datos. El DB2
1978: Larry Ellison: Fundador de Oracle (relationan software) lider mundial.
Oracle, IBM, y Microsoft
1986 microsof Sybase SQL Server
3 generaciones de SQL.
1.- Primera Generacion SQL Server 6.0 y 6.5
2.- Segunda generacion 7.0 y 8.0 (conocido como 2000)
3.- Tercera generacion 9(SQL 2005),10(2008),10.5(2008R2),11(2012)
Open source: posgre SQL, domina el codigo abierto.
Ensamblador: Lenguaje para darle ordenes a un procesador en especifico.
Nacio el lenguaje que da ordenes a las bases de datos: SEQUEL era el nombre ante
rior de
SQL
use pubs
select title_id, title,'Libro' from titles
union
select stor_id, stor_name, 'Tiendas' from stores
union
select pub_id, pub_name, 'Editoriales' from publishers
-------------------------------------Intersect: Los registros que son comunes en ambos grupos
select * from titles where price = 19.99
intersect
select * from titles where type like 'bus%'
------------------------except: Los registros que son diferentes en todo
select * from titles where price = 19.99
except:
select * from titles where type like 'bus%'
****************
select * from titles where price = 19.99
con esto obtenemos los precios de estos libros, obteniendolos desde la titles
select * from sales where title_id in('BU203','BU7832','PS3333')
******
cuando un qery esta contenido entre otro, se le llama sub consulta.
mpo en comun.
from ( select * from sales where year (ord_date) = 1994 and MONTH(ord_date)=9)s
left join (select * from stores where state = 'CA') st on s.stor_id=st.stor_id
Ambos: Rigth t left para los registros que no tengan coicidencias.
*************
inner join: Los registros que tuvieron coidicendias
Join externos: cuando no hay una coicidencias
***********
Las ventas que no pertenecen a una libreria de CA:
select s.stor_id, st.stor_name, s.ord_num, s.ord_date, s.qty, st.state
from ( select * from sales where year (ord_date) = 1994 and MONTH(ord_date)=9)s
left join (select * from stores where state = 'CA') st on s.stor_id=st.stor_id
where st.stor_id is null
************************
Para saber las ventas totales:
select sum(qty) from sales
Hacer: Una investigacion con su respectivo informe y posicion acerca de que son,
y que efectos tendran las medidas
implementadas por la DEI con respecto al proceso de facturacion de las empresas.
(Dos semanas 27 de oct) a exponer y presentar un informe. Ese informe va relacio
nado con
las bases de datos, la DEI pondra unos lineamientos. Con presentacion.
**********************************************
select year(ord_date), sum(qty) ,
count(*)-- , para ver de cuantos registros
from sales
group by ord_date
-- El group by ya no le cambia el criterio sobre el cual trabaja la funcion agre
ga
-- Ahora ya le toma todos los registros sobre tienda, y se los totaliza. No a ni
vel general
--sino en nivel especifico, de acuerdo al nivel de agrupamiento
select *
from sales
where ord_date='7896'
**************************
Dos agrupamientos
select stor_id, year(ord_date), sum(qty) ,
count(*)-- , para ver de cuantos registros
from sales
group by stor_id,ord_date
-- El group by ya no le cambia el criterio sobre el cual trabaja la funcion agre
ga
-- Ahora ya le toma todos los registros sobre tienda, y se los totaliza. No a ni
vel general
--sino en nivel especifico, de acuerdo al nivel de agrupamiento
select *
from sales
where ord_date='7896'
**************************
Ahora ordenados
select stor_id, year(ord_date), sum(qty) ,
count(*)
from sales
group by stor_id,ord_date
with rollup
select *
from sales
where ord_date='7896'
with rollup: Agrupa los niveles de mayor agrupamiento.
************
use pubs
select pub_id,type, sum ( price*qty), sum ( qty), count (*)
from sales s
-- Primero combinar ambas tablas
-- si no se agrega en el agrupamiento se presenta un error sintactico
inner join titles t on s.title_id = t.title_id
group by pub_id, type
********************
select stor_id, sum(qty), count(*)
from sales
--despues de los from va el :
-- join
--despues el where
--- group by
--- having
--- order by
group by title_id
having sum(qty) > 100
--tenemos que tener un group by para hacer un having: evalua despuesd los result
ados, despues el agrupamiento
select * from sales where title_id = 'BU2075'
****************************
select *
from sales
order by qty desc, ord_date
-- el order by me ordena segun un criterio de agrupamiento
--desc para hacer que los datos de qty vayan en descendente, las fechas en acend
ente.