Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Datos: Los datos son valores que describen hechos, condiciones o situaciones. Un dato puede
ser una letra, un nmero, un signo ortogrfico o cualquier smbolo y que representa una
cantidad, una medida, una palabra o una descripcin.
Campo: Es la mnima unidad de informacin almacenada, por ejemplo el valor: 3.1416927 por
s solo no nos dice nada, hasta que lo asociamos a la cantidad de veces que entra el dimetro
de la circunferencia en su permetro. El valor 30682873864 es solo una serie de nmeros pero
al darle formato 30-68287386-4 podemos decir que se trata de un CUIT. Los campos poseen
caractersticas que debemos conocer para poder utilizarlos:
Tipo de dato: Carcter, Numrico, etc.
Longitud: Cantidad de smbolos (bytes) que lo conforman
Cantidad de decimales: Solo para los datos numricos
Podemos ver claramente una cadena de caracteres formada por tres campos:
CUIT
NUMERICO (11, 0)
SIGLA
CARACTER (10)
DENOMINACION
CARACTER (50)
Estos datos podran haber sido organizados de otras formas para formar un registro, por
ejemplo:
Separados por comas:
30682873864,UNLA,UNIVERSIDAD NACIONAL DE LANUS
Separados por comas y con comillas para las cadenas de caracteres:
30682873864,UNLA, UNIVERSIDAD NACIONAL DE LANUS
Separados por tabulaciones:
30682873864
UNLA
U otros cientos de formatos que cada uno puede definir y deben conocer todos los que
necesiten leer la informacin contenida en el archivo.
Archivo de datos: Es un conjunto de datos almacenados de forma que puedan ser utilizados
por un programa de computadora, los archivos de datos estn conformados por una cantidad
de registros; estos pueden tener longitud fija o variable; poseer registros de cabecera y cierre
(registros de control) y estar organizados de forma tal que puedan ser ledos en forma
secuencial, dinmica (random) o ambos
De esta forma la informacin necesaria para hacer funcionar una aplicacin se agrupa en
archivos donde los registros estn formados por campos que poseen cierto nivel de relacin
definida por el individuo que disea el sistema.
A lo largo de la vida til del sistema este puede pasar por las manos de varios diseadores que
lo modifican agregando campos o archivos; lamentablemente no todos poseemos el mismo
criterio y el dejar ciertas reglas al libre albedrio hace que los sistemas lleguen a un momento
de su vida til donde un dato en particular puede encontrarse en distintos archivos con
distinto nivel de actualizacin.
Este es un concepto difcil de comprender porque en un mundo ideal que se les describe todo
el tiempo en los libros la documentacin de los sistemas est completa, pero cuando
trabajamos en empresas reales nos encontramos con documentacin incompleta, necesidades
de desarrollo (tiempos) que impiden realizar el anlisis completo en los archivos y programas
que los utilizan, programas de los que no tenemos los fuentes y por tanto deben seguir
trabajando con la misma estructura de archivo, etc.
Todos estos problemas del mundo real son los que dieron como resultado un caos que peda a
gritos ser organizado, es as que nace CODASYL acrnimo para "Conference on Data Systems
Languages" que crea en un principio lenguajes estandarizados de programacin como COBOL y
luego las bases de datos secuenciales que derivaron en las plex hasta llegar a las relacionales
que conocemos y utilizamos masivamente hoy en da.
Esto no hace que los archivos de datos se hayan dejado de usar, solo que restringi su uso para
algunas determinadas funciones como archivos de parmetros y de intercambio de datos
entre sistemas.
Bases de datos:
Las bases de datos son estructuras de datos almacenadas (en su mayora) en archivos
monolticos (enormes archivos donde se almacenan todos los datos); la estructura utilizada
para almacenar estos datos fue variando con las distintas evoluciones de las bases de datos,
pero todas ellas se basaron en dos grandes repositorios de datos: el diccionario de datos y los
datos del sistema. El diccionario de datos es el corazn de las bases de datos y posee
informacin sobre la forma en que encontraremos almacenados los datos del sistema en la
base de datos (por esto tambin reciben el nombre de metadata).
Las razones de esta complejidad se deben a la necesidad de extraer de los sistemas
tradicionales la complejidad del manejo de los datos para ponerla en un sistema administrador
de base de datos que se encarga de administrarla: este concepto lo podrn ver reconocer del
anlisis orientado a objetos como encapsulacin.
La informacin en todas las bases de datos se encuentra almacenada en tablas que, en un nivel
de abstraccin razonablemente alto, podemos ver con una apariencia similar a la de una
planilla de clculo, poseen filas y columnas con intersecciones donde se almacenan los datos.
La informacin sobre el formato y contenido de cada tabla se almacena en un sector de la base
de datos llamado diccionario de datos.
La realidad es que son mucho mas complejas, pero en este momento necesitamos verlas
desde un punto de vista simplista para poder comprender como utilizarlas; por tanto y solo
para el objetivo de este apunte simplificaremos las bases de datos como un conjunto de datos
organizados en tablas donde las columnas de cada fila cumplen con ciertas restricciones que
en la teora veremos como reglas de normalizacin.
Para poder crear las estructuras de datos y consultarlas utilizaremos un lenguaje estructurado
de consulta que se conoce como SQL (Structured Query Language).
Las instrucciones que se utilizan para crear, actualizar y eliminar las estructuras de datos se
llaman DDL (Data Description Language), las que se utilizan para crear o eliminar filas en las
tablas o para actualizar sus datos se denominan DML (Data Management Language).
Todas las bases de datos relacionales utilizan versiones distintas versiones de SQL adaptadas
del estndar creado por ANSI (American National Standards Institute) en sus distintas
versiones desde que lo lanzara en 1987 y hasta la ltima revisin del 2013.
Instrucciones DDL:
CREATE
Se utiliza para crear estructuras de datos, vistas, ndices de acceso, tipos de datos de usuario,
funciones, procedimientos, disparadores, etc.
ALTER
Se utiliza para modificar estructuras de datos, ndices de acceso, tipos de datos de usuario,
funciones, procedimientos, disparadores, etc.
DROP
Se utiliza para eliminar estructuras de datos, ndices de acceso, tipos de datos de usuario,
funciones, procedimientos, disparadores, etc.
Instrucciones DML:
INSERT
Se utiliza para agregar datos en una tabla o vista actualizable
UPDATE
Se utiliza para actualizar los datos de una tabla o vista actualizable
DELETE
Se utiliza para eliminar datos de una tabla o vista actualizable
TRUNCATE
Se utiliza para eliminar todos los datos de una tabla
MySQL
Este ao trabajaremos sobre la base de datos MySQL en su ltima versin liberada que pueden
descargar desde http://dev.mysql.com/downloads/ para el sistema operativo que deseen; el
instalador para Microsoft Windows contiene todos los utilitarios necesarios, a los aventureros
que deseen instalarlo sobre alguna versin de Linux, les recomiendo que lo instalen desde los
repositorios de la versin de Linux que tengan instalado (server y cliente suelen estar
disponible en paquetes por separado y deben instalar los dos) y luego descarguen e instalen
MySQL Workbench y MySql Utilities desde http://www.mysql.com/products/workbench/
La http://downloads.mysql.com/docs/refman-5.6-en.pdf encontraran la documentacin
completa de la base de datos, incluyendo la del lenguaje SQL utilizado por esta base de datos
relacional.
Instrucciones DDL:
Ejercicio 1:
Crear una base de datos con nombre unla_introdb usando la instruccin CREATE DATABASE
Ejercicio 2:
Usando la instruccin CREATE TABLE, crear una tabla con nombre alumnos en la base de
datos unla_introdb con el siguiente formato:
Columna
Tipo de dato
Restricciones
Adicionales
legajo
int
NOT NULL
PRIMARY KEY
nombre
varchar(50)
NOT NULL
apellido
varchar(50)
NOT NULL
cohorte
smallint
NOT NULL
activo
char(1)
DEFAULT 'S'
Ejercicio 3:
Usando la instruccin CREATE INDEX, crear una indice con nombre alumnos_ayn en la tabla
alumnos de la base de datos unla_introdb con el siguiente formato:
Columna
Orden
nombre
ascendente
apellido
ascendente
cohorte
descendente
Ejercicio 4:
Usando la instruccin ALTER TABLE, modificar la estructura de la tabla alumnos de la base
de datos unla_introdb agregando las siguientes columnas:
Columna
Tipo de dato
Restricciones
fecha_nacimiento
datetime
NULL
fecha_estado
datetime
DEFAULT CURDATE()
estado
smallint
DEFAULT 0
Adicionales
Ejercicio 5:
Usando la instruccin ALTER TABLE, modificar la estructura de la tabla alumnos de la base
de datos unla_introdb eliminando la columna activo
Ejercicio 6:
Usando las instruccin de los ejercicios 1 a 5 :
1. Crear una base de datos con nombre ejercicio6
2. Crear en la base de datos ejercicio6 las siguientes tablas:
3. Agregar a la tabla articulos la columna precio (float default 0)
4. Crear un indice por el campo tipo_articulo_id con orden ascendente para la tabla
articulos
Ejercicio 7:
Usando la instruccin DROP TABLE, eliminar la tabla tipos_articulo de la base de datos
ejercicio6
Ejercicio 8:
Usando la instruccin DROP DATABASE eliminar la base de datos ejercicio6
Ejercicio 9:
Usando la instrucciones SQL que correspondan agregar las siguientes tablas a la base de
datos:
Tabla: notas_alumno
Columna
Tipo de dato
Restricciones
Adicionales
nota_id
smallint
NOT NULL
PRIMARY KEY
legajo
int
NOT NULL
PRIMARY KEY
nota_valor
float
DEFAULT 0
Tabla: notas
Columna
Tipo de dato
Restricciones
Adicionales
nota_id
smallint
NOT NULL
PRIMARY KEY
nota_desc
varchar(20)
NOT NULL
Tabla: grupos_tp
Columna
Tipo de dato
Restricciones
Adicionales
grupo_id
smallint
NOT NULL
PRIMARY KEY
grupo_nombre
varchar(50)
NOT NULL
nota_grupal
float
DEFAULT 0
Ejercicio 10:
Usando la instrucciones SQL que correspondan agregar los siguientes valores a la tabla notas:
nota_id
nota_nom
Primer parcial
Segundo parcial
Tercer parcial
Final
Ejercicio 11:
Realizar un resguardo (BACKUP o DUMP o EXPORT) de la base de datos y entregarlo al profesor
Instrucciones DML:
Usando:
Usando la base de datos unla_introdb se realizarn los ejercicios en forma grupal y se
guardarn los comandos para cada caso, entregndolo al profesor junto con el resguardo del
ltimo ejercicio
Ejercicio 1:
Usando la instruccin INSERT sobre la tabla alumnos insertar los datos de los alumnos del
grupo de trabajo (al menos 5 registros).
Ejercicio 2:
Usando las instrucciones DML que corresponda agregar a la tabla alumnos la siguientes
columnas:
Columna
Tipo de dato
Restricciones
dni
bigint
NOT NULL
varchar(50)
NULL
grupo_id
smallint
Adicionales
DEFAULT 0
Ejercicio 3:
Usando la instruccin UPDATE modificar el contenido de las filas de la tabla alumnos
agregando la informacin para las columnas del punto anterior.
Ejercicio 4:
Usando la instruccin INSERT modificar el contenido de las filas de la tabla alumnos
agregando la informacin de los siguientes alumnos:
Nombre y
Apellido
Legajo
Cohorte
Estado
Fabian Gonzalez
23435
2008
Esteban Nagata
23437
2008
Carlos Urquiza
23455
2008
Carolina Martinez
23502
2008
Ejercicio 5:
Usando la instruccin SELECT consultar todos los datos de la tabla alumnos.
Ejercicio 6:
Usando la instruccin DELETE eliminar de la tabla alumnos los datos de los alumnos libres.
Ejercicio 7:
Usando la instrucciones SQL que correspondan crear la fila para el grupo de los alumnos
ingresados en la tabla alumnos del grupo de trabajo prctico que les asigne el profesor.
Ejercicio 8:
Realizar un resguardo (BACKUP o DUMP o EXPORT) de la base de datos y entregarlo al profesor
Ejercicio 1:
Escribir la sentencia SELECT que permita recuperar la informacin de la lista de artculos
Ejercicio 2:
Agregar a la sentencia del ejercicio anterior los datos del tipo de artculo y el precio, para
obtener una lista de precios
Ejercicio 3:
Agregar a la sentencia del ejercicio anterior la restriccin necesaria para mostrar solo los
artculos del que se poseen existencias, lista de precios de artculos en existencia
Ejercicio 4:
Teniendo en cuenta que se realiza un pedido de artculos semanalmente, escribir la sentencia
SELECT que permita recuperar la informacin de la lista de artculos cuyas existencias se
encuentren por debajo del punto de reposicin
Ejercicio 5:
Modificar la sentencia anterior para mostrar solo los registros que no tengan pedidos
pendientes de semanas anteriores
Ejercicio 6:
Modificar la sentencia anterior para mostrar tambin los artculos que se traen solo a pedido
(punto de reposicin = cero)
Ejercicio 7:
Escribir la sentencia SELECT que permita recuperar la informacin de la lista de vendedores
Ejercicio 8:
Agregar a la sentencia anterior la informacin del jefe de grupo de ventas
Entregar al profesor:
Las instrucciones SQL creadas para cada ejercicio
Ejercicio 1:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas mensualmente (ao y mes) entre los aos 2010 y 2011
Ejercicio 2:
Escribir la sentencia SELECT que permita recuperar la informacin de la cantidad de artculos
vendidas por tipo de artculo y artculo entre los aos 2010 y 2011
Ejercicio 3:
Escribir la sentencia SELECT que permita recuperar la informacin de la cantidad de artculos y
monto realizado por sus ventas por tipo de artculo y artculo en los dos primeros trimestres de
2011
Entregar al profesor:
Las instrucciones SQL creadas para cada ejercicio
Ejercicio 1:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas mensualmente (ao y mes)
Ejercicio 2:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas semanalmente (ao, mes y semana)
Ejercicio 3:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas trimestralmente (ao y trimestre)
Ejercicio 4:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas mensualmente (ao y mes) por artculo
Ejercicio 5:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas semanalmente (ao, mes y semana) por artculo
Ejercicio 6:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas trimestralmente (ao y trimestre) por artculo
Ejercicio 7:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas mensualmente (ao y mes) por tipo de artculo y artculo
Ejercicio 8:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas semanalmente (ao, mes y semana) por tipo de artculo y artculo
Ejercicio 9:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas trimestralmente (ao y trimestre) por tipo de artculo y artculo
Ejercicio 10:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas mensualmente (ao y mes) por grupo de ventas y vendedor
Ejercicio 11:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas semanalmente (ao, mes y semana) por grupo de ventas y vendedor
Ejercicio 12:
Escribir la sentencia SELECT que permita recuperar la informacin del monto total de ventas
realizadas trimestralmente (ao y trimestre) por grupo de ventas y vendedor
Ejercicio 13:
Escribir la sentencia SELECT que permita recuperar la informacin del promedio de la cantidad
de unidades de cada artculo vendidas por operacin
Ejercicio 14:
Escribir la sentencia SELECT que permita recuperar la informacin del promedio de la cantidad
de unidades de cada artculo vendidas por operacin y vendedor
Ejercicio 15:
Escribir la sentencia SELECT que permita recuperar la informacin del promedio de la cantidad
de unidades de cada artculo vendidas por operacin y grupo de ventas
Ejercicio 16:
Escribir la sentencia SELECT que permita recuperar las comisiones de ventas totales por cada
mes (ao y mes)
Ejercicio 17:
Idem pero separadas por cada grupo de ventas
Ejercicio 18:
Idem pero separadas por cada vendedor
Entregar al profesor:
Las instrucciones SQL creadas para cada ejercicio
Uso de JOIN:
Usando:
Usando la base de datos select_introdb se realizarn los ejercicios en forma grupal y se
guardarn los comandos para cada ejercicio, entregndolo al profesor al finalizar el ejercicio.
Reescribir las instrucciones de la prctica de GOUP BY utilizando JOIN para conectar las tablas
Entregar al profesor:
Las instrucciones SQL creadas para cada ejercicio
Vistas
Usando:
Usando la base de datos select_introdb se realizarn los ejercicios en forma grupal y se
guardarn los comandos para cada ejercicio, entregndolo al profesor al finalizar el ejercicio.
Crear vistas para los primeros doce ejercicios de la prctica anterior.
Entregar al profesor:
Las instrucciones SQL creadas para cada ejercicio
Entregar al profesor:
Entregar el modelo con datos y el prototipo de las consultas en SQL