Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procesamiento
Archivo
de de
Usuario del Préstamos
Préstamos
Archivo de Préstamos
… Antes
Dpto. Contabilidad
Dpto. Personal Dpto. Ventas
Inventario
Ventas Empleados
SGBD Clientes
Ventas
Inventario
Cuentas
Contabilidad
Diseño del sistema
Datos
Resulta relevante para que el Técnico en
Entidades
Administración cumpla su rol como usuario
de los sistemas o como integrante del Claves primarias y foráneas
equipo de desarrollo que conozca algunos Relaciones
conceptos básicos vinculados al tema Bases Restricciones de integridad
referencial
de Datos.
Metadatos
Datos
“Datos son hechos conocidos que pueden registrarse y que tienen un significado
implícito”.
Ejemplo:
Pueden constituir datos los nombres, números telefónicos y direcciones de personas que
conocemos.
Entidades
Una entidad es todo aquello de lo cual interesa guardar datos, por ejemplo:
clientes, facturas, productos, empleados. En el Modelo de Entidad-Relación que
se presenta, se observa que las entidades están formadas por atributos o
c a m p o s r e f e r i d o s a u n m i s m o t e m a q u e i n t e r e s a a l m a c e n a r.
CLIENTES cuenta con los atributos: Código de Cliente, Nombre, Apellido, Domicilio,
Teléfono.
CLAVES PRIMARIAS Y CLAVES FORÁNEAS
Cada entidad tiene una clave primaria o campo llave que identifica unívocamente al conjunto de
datos.
Cuando en una entidad figura la clave primaria de otra entidad, ésta se denomina clave foránea.
Las entidades se relacionan entre sí a través de las claves foráneas.
En el esquema se observa
que los usuarios
interactúan con una
aplicación (por ej. un
sistema integrado de
gestión o un paquete
contable) que utiliza un
SGBD para procesar las
consultas, el cual accede a
los metadatos y a la base
de datos correspondiente.
Principales características del enfoque de Bases
de Datos
En el enfoque de bases de datos se mantiene un único almacén de datos que se define una sola vez
y al cual tienen acceso muchos usuarios.
Características:
1. Naturaleza autodescriptiva de los sistemas de base de datos
2. Separación entre los programas y los datos, y abstracción de los datos
3. Manejo de múltiples vistas de los datos
Principales características del enfoque de Bases de
Datos
-Se almacena en el catálogo del SGBD la estructura de los archivos de datos separados de las
aplicaciones (programas).
-El código de las aplicaciones se escribe de modo que sean independientes de los archivos específicos.
Principales características del enfoque de Bases de
Datos
Esta estructura permanece “estática” durante un gran período de tiempo, aunque puede
sufrir modificaciones ocasionales
Usuario final: El que interactúa con la base de datos, por lo general a través de
aplicaciones e interfaces
Esquemas Procesador
Procesador Lenguaje
externos
DML Consulta
Peticiones
Procesador compiladas
DDL
DDL: lenguaje de definición de datos
DML: lenguaje de manipulación de datos
Optimizador
Esquemas y
transformaciones Peticiones
optimizadas
Manejador de transacciones
Manejador de almacenamiento
Base de datos
Datos
y
Metadatos
Componentes funcionales de un SGBD
1. Tamaño
2. Susceptibilidad a fallas (Discutible)
3. Complejidad en la recuperación a fallas (Discutible)
4. Puede llegar a trabajar en forma “lenta” debido a la cantidad de verificaciones
que debe hacer
Independencia de los datos
Es uno de los objetivos de la arquitectura ANSI/SPARC
Permite modificar la definición de un nivel sin afectar (en lo
posible) el nivel inmediatamente superior
Sin independencia de datos se requeriría mucho esfuerzo para
cambiar las aplicaciones de tal forma que se adaptasen a la nueva
estructura de la base de datos.
Hay dos tipos: física y lógica
Independencia de los datos
Física: inmunidad que tienen los usuarios y las aplicaciones ante los cambios en la
forma de almacenar físicamente los datos.
Conceptual o lógica: inmunidad que poseen los usuarios y las aplicaciones ante los
cambios en la estructura lógica de la base de datos
Independencia Física
Se presenta entre el nivel conceptual y el nivel físico
Un cambio en el esquema físico (usar otras estructuras de almacenamiento)
no conduce a cambios en el esquema conceptual
Ej. Cambio en la forma de almacenar un índice: B+ por Hashing, ¿con qué
propósito se hace un cambio de este tipo?
Inmunidad del esquema conceptual ante cambios del esquema físico
Independencia Lógica
Nombre de la
TABLA PELICULA
TITULO AÑO DURACION
La guerra de las galaxias 1997 120
Dominio de AÑO y
DURACION = ENTEROS
Ejemplo: Tabla Película
grado
atributos
SELECT *
FROM alumno_materias
WHERE alumno = 1 and Calificacion > 7
SELECT *
FROM alumno_materias
WHERE alumno = 1 or Calificacion > 7
SELECT *
FROM alumno_materias
WHERE not Calificacion = 7
Caso de Estudio
Biblioteca UTP:
La biblioteca de la UTP desea almacenar la información de sus Libros(titulo,
resumen, genero literario, editorial), autores y alumnos. La biblioteca desea llevar
un control de los préstamos realizados a los alumno.
SELECT *
FROM prestamos join alumnos
on prestamos.alumno = alumnos.matricula
CLÁUSULAS
GROUP BY
HAVING
ORDER BY
Group By
El atributo o atributos especificados en la cláusula group by se usan para formar
grupos.
Las tuplas con el mismo valor en todos los atributos especificados en la cláusula
group by se colocan en un grupo.
Having
Los predicados de la cláusula having se aplican después de la formación de grupos, de
modo que se pueden usar las funciones de agregación.
Order By
SQL ofrece al usuario cierto control sobre el orden en el cual se presentan las tuplas
de una relación.
La cláusula order by hace que las tuplas resultantes de una consulta se presenten en
un cierto orden.
Order By - Ejemplo
Ordenar de forma Ascendente los alumnos
SELECT *
FROM alumnos
order by matricula
Sintaxis
AVG(expresión)
Revisar:
http://www.w3schools.com/sql/sql_func_avg.asp
Max, Min
Devuelven el mínimo o el máximo de un conjunto de valores
contenidos en un campo especifico de una consulta.
Ejemplo:
FROM volumenes
Count
Con mucha frecuencia se usa la función de agregación count para contar el número
de tuplas de una relación.
La notación para esta función en SQL es count(*).
Count
Obtener el total de prestamos:
SELECT count(*) as 'Total de prestamos‘
FROM prestamos
Sintaxis
SUM(expresión)
Ejemplo: Count y Sum
Obtener de cada libro su titulo, la cantidad de libros que cuenta la
biblioteca de cada libro y los libros disponibles para préstamo.
SELECT titulo,
count(*) as 'Cantidad de Libros',
sum(disponible) as 'Libros disponibles‘
GROUP BY libro;
LIMIT
Ejemplo: Seleccionar
SELECT titulo los primeros 5 libros ordenados
SELECT titulo por su nombre.
FROM libros FROM libros
ORDER BY BINARY titulo ORDER BY BINARY titulo
LIMIT 0,5 LIMIT 5
Vistas
Vistas
Si los datos de la BD cambian, entonces los resultados de las
consultas también deben de cambiar.
Una vista es un resultado de una consulta SQL de una o varias tablas;
también se le puede considerar una tabla virtual (Tabla en donde se
almacenan los resultados de una consulta y es virtual porque solo es
temporal para la ejecución de una consulta determinada).
Las vistas tienen la misma estructura que una tabla: filas y columnas.
La única diferencia es que sólo se almacena de ellas la definición, no
los datos. Los datos que se recuperan mediante una consulta a una
vista se presentarán igual que los de una tabla.
Vistas ( Continuación )
Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar
datos en una vista.
Una vista se especifica a través de una sentencia SELECT.
La mayoría de los SGBD soportan la creación y manipulación de vistas.
Las vistas fueron introducidas en la versión 5.0 del servidor de base de datos MySQL.
CREATE VIEW
CREATE VIEW nombre_vista AS
SELECT *
FROM tablaX
CREATE VIEW - Ejemplo
CREATE VIEW alu_materia_calificacion as
SELECT a.idAlumno as Matricula,
a.Nombre as 'Nombre del Alumno',
m.Nombre as 'Nombre de la Materia',
am.Calificacion
FROM (alumno a JOIN alumno_materias am
ON a.idAlumno = am.Alumno)
JOIN materia m ON am.materia = m.idMateria
Consultar datos de la vista
Consultas sobre Vistas
Trabajando con valores nulos
Desde que se va construyendo la definición de cada tabla, se puede restringir a que
un campo pueda o no aceptar valores nulos.
Un valor nulo significa que para un campo de cualquier tipo de los que se permiten
definir (int, char, varchar, etc.) no se le asigne valor alguno (como si se quedara vacio).
Trabajando con valores nulos
SELECT *
FROM tabla t
WHERE t.columna is null
SELECT *
FROM tabla t
WHERE not (t.columna is null)
Manejo de Valores duplicados
SELECT FirstName
FROM Students
Inserción
Actualizaciones
Borrado
• DELETE FROM alumno
Borra todas las tuplas de la relacion alumno
UPDATE alumno
SET Nombre = 'Juan Pérez‘
WHERE idAlumno = 1
Reunion de Relaciones
Inner join
Left outer join
Right outer join
Natural join
Reunion de Relaciones
Inner join
left outer join
Right outer join
Natural join
Referencias
FUNDAMENTOS DE BASES DE DATOS
Silberschatz, Korth, Sudarshan. Quinta Edición.
McGraw-Hill 2006
ISBN: 84 – 481 – 4644 - 1
Sintaxis de SELECT
http://dev.mysql.com/doc/refman/5.0/es/select.html
• Avg
http://www.w3schools.com/sql/sql_func_avg.asp
Group By
http://dev.mysql.com/doc/refman/5.0/es/group-by-functions.html
ACCESO A DATOS Y
ADO.NET
OBTENER ACCESO A DATOS EN
APLICACIONES DE VISUAL BASIC
BASE DE DATOS:
Una base de datos es una colección de información almacenada en archivos
guardados en discos que sigue una estructura sistemática. Esta estructura sistemática
permite a los usuarios consultar los datos usando software de administración
denominada sistema de administración de bases de datos (DBMS). SQL Server 2005
es un sistema de administración de bases de datos relacionales (RDBMS).
OBTENER ACCESO A DATOS EN
APLICACIONES DE VISUAL BASIC
Una base de datos relacional, como las de SQL Server 2005, contiene varias tablas
relacionadas entre sí.
•VISTAS
•PROCEDIMIENTOS ALMACENADOS
•FUNCIONES
•ÍNDICES
•INFORMACIÓN DE SEGURIDAD
OBTENER ACCESO A DATOS EN APLICACIONES DE VISUAL BASIC
---- NORMALIZACIÓN----
El proceso de normalización existe para ayudar a dividir los datos en su propia tabla
de forma que la información no se duplique en más de una tabla.
OBTENER ACCESO A DATOS EN APLICACIONES DE VISUAL BASIC
---- VALORES NULOS??----
Siempre que se diseña una tabla con una columna que no permite la existencia de
valores nulos, el RDBMS rechazará cualquier inserción de una nueva fila que tenga
una columna establecida en un valor nulo cuando no deba ser así. Cuando preste
atención a esas columnas que no pueden contener valores nulos al diseñar las tablas,
automáticamente agregará otra capa de integridad de datos asegurándose de que
están presentes todos los datos necesarios antes de que se inserte el registro en la
base de datos.
OBTENER ACCESO A DATOS EN APLICACIONES DE VISUAL BASIC
---- CLAVES PRINCIPALES Y CLAVES EXTERNAS----
CLAVE PRINCIPAL:
VALOR UTILIZADO PARA IDENTIFICAR DE MANERA ÚNICA UNA FILA ESPECÍFICA DE UNA TABLA.
PUEDE ESTAR COMPUESTA DE UNO O VARIOS NOMBRES DE COLUMNA: CUANDO SE COMPONE DE MÁS
DE UNA COLUMNA, SE DENOMINA CLAVE COMPUESTA.
SUELE SER UN CAMPO NUMÉRICO.
NORMALMENTE LA GENERA EL RDBMS, EN CUYO CASO SE DENOMINA CLAVE SUPLENTE. CON
FRECUENCIA, UNA CLAVE SUPLENTE ES (PERO NO SIEMPRE) UN NÚMERO SECUENCIAL. EN SQL
SERVER 2005 UNA CLAVE SUPLENTE TAMBIÉN SE DENOMINA UNA IDENTIDAD.
Debe ser lo más corta posible, pero lo bastante larga para admitir el número de filas
que representará.
Es inmutable
También es una clave natural cuando la clave tiene una relación lógica con el resto
de las columnas de la tabla. (ISBN)
Una clave externa es una columna de una tabla que está relacionada con una
columna de otra tabla. También permite crear relaciones entre las tablas.
Una clave externa de una tabla siempre es una clave principal en otra tabla.
Las claves externas se utilizan para forzar la integridad de los datos al formar parte de
las restricciones de claves externas.
OBTENER ACCESO A DATOS EN APLICACIONES DE VISUAL BASIC
---- CLAVES EXTERNAS---
Cuando se envía una consulta SQL a una base de datos relacional, la base de datos
devuelve un conjunto de resultados que simplemente contiene las filas que
contienen las respuestas a la consulta.
SQL es un estándar ANSI/ISO, el cual debe seguir un conjunto de reglas, por tanto
los RDBMS más conocidos en el mercado tienen extensiones agregadas a SQL para
permitir la adición de código de procedimientos.
La siguiente es una lista de extensiones frecuentes y sus fabricantes: Microsoft
Transact-SQL (abreviado como T-SQL), Oracle PL/SQL e IBM SQL PL
TALLE No 1. CREACIÓN DE BASE DE
DATOS CON VISUAL BASIC
TALLER No 1. CREACIÓN DE BASE
DE DATOS CON VISUAL BASIC
1. Agregar un
elemento BD de
SQL. Con nombre
carros.mdf
El archivo mdf contiene
toda la base de datos;
La información de
registro de la base de
datos, se guarda en un
archivo .ldf.
TALLE No 1. CREACIÓN DE BASE DE
DATOS CON VISUAL BASIC 2. Aparece la ventana de
configuración de
orígenes de datos.
Por el momento
cancelarla.
3. En el explorador de
soluciones aparece
el archivo de BD
creado
En el explorador de
soluciones aparece el
archivo de BD creado
TALLER No 1. CREACIÓN DE BASE DE
DATOS CON VISUAL BASIC
4. Cierre la conexión haciendo click
derecho sobre la base de datos.
5. Para abrir nuevamente la conexión
• Doble click en la base de datos
• Actualizar la ventana
• Click derecho//Modificar
conexión.
TALLER No 1. CREACIÓN DE BASE DE
DATOS CON VISUAL BASIC
4. Busque el nombre de la BD,
pruebe la conexión y acepte
TALLER No 2. CREACIÓN DE TABLAS
CON VISUAL BASIC
5. En el Explorador de
bases de datos, haga
clic con el botón
secundario del mouse
en el icono de carpeta
de la tabla y seleccione
Agregar nueva tabla.
La nueva columna se
llamara ColorID, tipo
entero y no permitirá
valores nulos. Esta
columna será la clave
principal.
TALLER No 2. CREACIÓN DE TABLAS
CON VISUAL BASIC
La clave
principal será
también una
identidad.
TALLER No 2. CREACIÓN DE TABLAS
CON VISUAL BASIC
6. Según el diagrama de la base de datos, agregue los otros dos campos. Guarde la
tabla con el nombre de Color
Proveedor de datos de .NET Framework para ODBC Para orígenes de datos que se exponen mediante
ODBC. Utiliza el espacio de nombres
System.Data.Odbc.
Proveedor de datos de .NET Framework para Oracle Para orígenes de datos de Oracle. El proveedor de
datos de .NET Framework para Oracle es compatible
con la versión 8.1.7 y posteriores del software de
cliente de Oracle y utiliza el espacio de nombres
System.Data.OracleClient.
COMPONENTES DE ADO.NET --- PROVEEDORES DE DATOS-- OBJETOS
OBJETO DESCRIPCIÓN
Connection Establece una conexión a un origen de datos determinado. La
clase base para todos los objetos Connection es DbConnection.