Sei sulla pagina 1di 16

Conceptos bsicos:

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.

Informacin: Los datos se convierten en informacin cuando se organizan de forma que


describen un ente o fenmeno.

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

Registro: Es un conjunto de campos que estn relacionados entre s, por ejemplo:


30682873864UNLA

UNIVERSIDAD NACIONAL DE LANUS

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

UNIVERSIDAD NACIONAL DE LANUS

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.

Subconjunto de instrucciones SQL de MySQL que utilizaremos este ao:


Instrucciones DDL en MySQL:
CREATE TABLE
Se usa para crear estructuras de tablas de datos
ALTER TABLE
Se usa para modificar estructuras de tablas de datos, se deben seguir reglas de validacin de
datos cuando las tablas de datos tienen contenido
DROP TABLE
Se usa para eliminar estructuras de tablas de datos, cuando se eliminan los datos se pierde la
informacin almacenada en ellas
CREATE INDEX
Se usa para crear ndices de acceso a los datos almacenados en las tablas
ALTER INDEX
Se usa para modificar ndices de acceso a los datos almacenados en las tablas
DROP INDEX
Se usa para eliminar ndices de acceso a los datos almacenados en las tablas
CREATE VIEW
Se usa para crear vistas a las tablas de datos
DROP VIEW
Se usa para eliminar vistas a las tablas de datos

Instrucciones DML en MySQL:


INSERT
Se usa para agregar filas a las tablas de datos, para que funcione se deben cumplir las
restricciones definidas en el diccionario de datos
UPDATE
Se usa para actualizar los datos de las filas de las tablas, para que funcione se deben cumplir
las restricciones definidas en el diccionario de datos
DELETE
Se usa para eliminar filas de las tablas de datos
TRUNCATE TABLE
Se usa para eliminar todas las filas de una tabla de datos
SELECT
Se usa para recuperar la informacin de una o mas tablas de datos, para que funcione se
deben cumplir restricciones del diccionario de datos

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

Estado: {0: activo, 1: regular, 2: libre}

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

Recuperatorio primer parcial

Recuperatorio segundo parcial

Recuperatorio 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

email

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

Uso de la instruccin SELECT:


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.

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

Uso de la instruccin SELECT BETWEEN:


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.

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

Uso de la instruccin SELECT GROUP BY:


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.

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

Usando MySQL Workbench para disear una base de datos:


Diseo de base de datos:
Disear una estructura de base de datos para almacenar la informacin de los turnos de una
peluquera, tener en cuenta que se deben almacenar datos de: clientes, empleados,
especialidades de los empleados e historia de atencin a clientes; no entra dentro del alcance
la facturacin de los servicios.
Cargar datos para diez empleados (cuatro peluqueros, dos manicuras, dos asistentes y dos
administrativos), dos turnos de atencin rotativos semanalmente, no se atiende los lunes,
sbado horario extendido (tres turnos de 4hs)
Para asegurar que la estructura de datos funciona correctamente verificar que se puedan
realizar las siguientes consultas:
1. Agenda del prximo lunes para cada peluquero
2. Historia de atencin de un cliente determinado del ltimo mes
3. En que horario se puede hacer corte, manicura y color en forma simultanea para los
prximos tres das

Entregar al profesor:
Entregar el modelo con datos y el prototipo de las consultas en SQL

Potrebbero piacerti anche