Está en la página 1de 34

REPASO

Taller de base de datos


Bases de Datos

• *Datos: hechos conocidos que pueden ser


almacenados, tienen un significado implícito Pueden ser
conocimiento pasado
o futuro
• *Base de Datos (BD): Colección de datos
interrelacionados
Si no están
relacionados son de
• *Universo del discurso(Mini-mundo): parte del poca utilidad
mundo real que se modela en una base de datos
Diseñador Administrador Usuario

Herramientas Herramientas Aplicación


de diseño de admón..

Sistema de Gestión de Bases de Datos


(SGBD)

Medio Ambiente de una Base de Datos

BD
TEMA1. EL SGBD Y EL
LENGUAJE DE
DEFINICIÓN DE DATOS
Sistema Gestor de Bases de Datos

Un sistema gestor de bases de datos (SGBD) es una


aplicación que permite a los usuarios definir, crear y
mantener una base de datos, y proporciona acceso
controlado a la misma.
Software que facilita la creación y el
mantenimiento de bases de datos

Existen SGBD comerciales: DB2, Oracle,


SQL Server o de libre distribución tales
como: MySQL, Postgres.
Tipos de usuarios de un SGBD
• *Diseñador de base de datos: define el contenido, la estructura, las restricciones y
las transacciones sobre la BD
• *Usuarios Finales: utilizan los datos para consultarlos, realizar reportes y
actualizar el contenido de la base de datos
• *Administrador de la BD:
• Autoriza los accesos a la BD
• Coordina y monitorea su uso
• Adquiere el software y recursos de hardware
• Controla el uso de la BD y monitorea la eficiencia de las operaciones
Funcionalidades de un SGBD

• *Definir la base de datos: tipos de datos, estructuras y restricciones.


• *Construir o cargar la base de datos en un medio de almacenamiento.
• *Manipulación de la base de datos: consultas, generación de reportes,
inserción, eliminación y modificación de su contenido.
• *Procesamiento concurrente de un conjunto de usuarios y programas,
conservando los datos validos y consistentes.
• *Protección y medidas de seguridad para prevenir accesos no autorizados.
PROCESO (SIMPLIFICADO) DE DISEÑO E IMPLEMENTACION
DE UNA BD

• *Diseño conceptual (alto nivel) – Modelo entidad-asociación


extendido
• *Elección de un modelo de datos y de un SGBD
• *Diseño lógico – Modelo relacional
• *Diseño físico
• Implementación y afinamiento
DISEÑO DE LA BASE DE DATOS

CONCEPTUAL LOGICO FISICO

[alto-nivel, semánticos] Traducción del modelo de datos [bajo-nivel, internos]


Proporcionan conceptos Conceptual al DDL del SMBD Determinan la estructura y
cercanos a la forma en que los correspondiente organización de archivos
usuarios perciben los datos. (E-R, almacenados en la BD
UML, ORM, Relacional
El modelo Entidad-Relación
Es el modelo más utilizado para el diseño conceptual de bases de datos. Fue
introducido por Peter Chenen 1976 y se basa en la existencia de objetos a los que se
les da el nombre de entidades, y asociaciones entre ellos, llamadas relaciones. Sus
símbolos principales se representan en el cuadro siguiente.
Entidad.
Una entidad es cualquier objeto o elemento acerca del cual se pueda almacenar
información en la BD. Las entidades pueden ser concretas como una persona o abstractas
como una fecha. Las entidades se representan gráficamente mediante rectángulos y su
nombre aparece en el interior. Un nombre de entidad sólo puede aparecer una vez en el
esquema conceptual.
Tipos de entidades Hay dos tipos de entidades: fuertes y débiles. Una entidad débil es
una entidad cuya existencia depende de la existencia de otra entidad. Una entidad fuerte
es una entidad que no es débil.
Atributos
Los atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le
conoce como dominio del atributo. Dando valores a estos atributos, se obtienen las
diferentes ocurrencias de una entidad.
En esencia, existen dos tipos de atributos:
- Identificadores de entidad (también llamados clave primaria o clave principal): son
atributos que identifican de manera unívoca cada ocurrencia de una entidad.
- Descriptores de entidad: son atributos que muestran unas características de la entidad.
Siempre debe existir, al menos, un atributo identificativo.
Ejemplos de atributos:
Tipos de atributos
Relaciones
Una relación es la asociación que existe entre dos a más entidades. Cadarelación tiene un
nombre que describe su función. Las relaciones se representan gráficamente mediante
rombos y su nombre aparece en el interior. Normalmente le pondremos de nombre la
primera o primeras letras de las entidades que relaciona. Las entidades que están
involucradas en una determinada relación se denominan entidades participantes. El
número de participantes en una relación es lo que se denomina grado de la relación. Por
ejemplo la relación CLIENTE-COCHE es de grado 2 o binaria, ya que intervienen dos
entidades.
La cardinalidad de una relación
Cuando la relación es binaria, cosa que ocurre en la mayoría de los casos, la
cardinalidad es el número de ocurrencias de una entidad asociadas a una ocurrencia
de la otra entidad.
Existen principalmente tres tipos de cardinalidades binarias:
• Relación uno a uno 1:1 A cada elemento de la primera entidad le corresponde no
más de un elemento de la segunda entidad, y a la inversa. Es representado
gráficamente de la siguiente manera:
La cardinalidad de una relación
• Relación uno a muchos 1:N: Significa que cada elemento de una entidad del tipo
A puede relacionarse con cualquier cantidad de elementos de una entidad del tipo
B, y un elemento de una entidad del tipo B solo puede estar relacionado con un
elemento de una entidad del tipo A. Su representación gráfica es la siguiente:
Nótese en este caso que el extremo punteado de la flecha de la relación de A y B,
indica un elemento de A conectado a muchos de B.
• Muchos a muchos N:M Establece que cualquier cantidad de elementos de una
entidad del tipo A pueden estar relacionados con cualquier cantidad de elementos
de una entidad del tipo B. El extremo de la flecha que se en cuentra punteada
indica el «varios» de la relación.
La Participación de una entidad.
La participación de una entidad también se conoce como cardinalidad de la entidad
dentro de una relación. Una misma entidad puede tener distinta cardinalidad dentro de
distintas relaciones. Para obtener la participación, se debe fijar una ocurrencia concreta de
una entidad y averiguar cuántas ocurrencias de la otra entidad le corresponden como
mínimo y como máximo.

Después realizar lo mismo en el otro sentido. Estas ocurrencias mínimas y máximas


(llamadas también participación de una entidad) se representarán entre paréntesis y con
letras minúsculas en el lado de la relación opuesto a la entidad cuyas ocurrencias se fijan.
Para determinar la cardinalidad nos quedamos con las participaciones máximas de ambas
y se representan con letras mayúsculas separadas por dos puntos junto al símbolo de la
relación. Veamos algunos ejemplos:
Ejemplo 1
Ejemplo 2
Ejemplo 3
TEMA2. LENGUAJE DE
MANIPULACIÓN DE
DATOS
❖ Lenguaje de Manipulación de Datos (Data Manipulation Language) DML.
A través de él podemos seleccionar, insertar, eliminar y actualizar datos. Es la
parte que más frecuentemente utilizaremos, y que con ella se construyen las
consultas.
Algunos comandos propios de este sublenguaje son:

Utilizado para consultar registros de la base de datos que satisfagan un


SELECT
criterio determinado
Utilizado para cargar lotes de datos en la base de datos en una única
INSERT
operación.
Utilizado para modificar los valores de los campos y registros
UPDATE
especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos

❖ Lenguaje de control de datos (Data Control Language) DCL.

encargado de la seguridad de la base de datos, en todo lo referente al control de


accesos y privilegios entre los usuarios.
Como ejemplo estan : GRANT, REVOKE.
Clausulas
Las cláusulas son condiciones de modificación utilizadas para definir los datos que
desea seleccionar o manipular.
Cláusula Descripción
Utilizada para especificar la tabla de la cual se van a seleccionar los
FROM
registros
Utilizada para especificar las condiciones que deben reunir los
WHERE
registros que se van a seleccionar
Utilizada para separar los registros seleccionados en grupos
GROUP BY
específicos
HAVING Utilizada para expresar la condición que debe satisfacer cada grupo
Utilizada para ordenar los registros seleccionados de acuerdo con un
ORDER BY
orden específico
Operadores lógicos
Los operadores lógicos permiten comparar expresiones lógicas devolviendo siempre
un valor verdadero o falso. Los operadores lógicos se evalúan de izquierda a derecha.

Operador Uso
Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de
AND
verdad sólo si ambas son ciertas.
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de
OR
verdad si alguna de las dos es cierta.
NOT Negación lógica. Devuelve el valor contrario de la expresión.
+ (Concatenación) Se usa para unir datos de tipo alfanumérico
Operadores Relacionales
Operador Uso
< Menor que
> Mayor que
<> != Distinto de
<= Menor o igual que
>= Mayor o igual que
= Igual que
Funciones Agregadas
Las funciones agregadas proporcionan a SQL utilidades de cálculo sobre los
datos de las tablas.
Estas funciones se incorporan en las consultas SELECT y retornan un único
valor al operar sobre un grupo de registros.

Función Descripción
Utilizada para calcular el promedio de los valores de un
AVG
campo determinado
Utilizada para devolver el número de registros de la
COUNT
selección
Utilizada para devolver la suma de todos los valores de un
SUM
campo determinado
Utilizada para devolver el valor más alto de un campo
MAX
especificado
Utilizada para devolver el valor más bajo de un campo
MIN
especificado
Predicados
Los predicados son condiciones que se indican en claúsula WHERE de una
consulta SQL.

Predicados
SQL
BETWEEN...AND Comprueba que al valor esta dentro de un intervalo
LIKE Compara un campo con una cadena alfanumérica.
ALL Señala a todos los elementos de la selección de la consulta
ANY Indica que la condición se cumplirá si la comparación es cierta para al
menos un elemento del conjunto.
EXISTS Devuelve un valor verdadero si el resultado de una subconsulta devuelve
resultados.
IN Comprueba si un campo se encuentra dentro de un determinado rango.
El rango puede ser una sentencia SELECT.
Ejemplo de Algunos
comandos Básicos
CREATE Create Table pedidos
(
Sintaxis: id_pedido INT(4) NOT NULL
Create Table nombre_tabla AUTO_INCREMENT,
id_cliente INT(4) NOT NULL,
( id_articulo INT(4)NOT NULL,
nombre_campo_1 tipo_1, fecha DATE,
nombre_campo_2 tipo_2, cantidad INT(4),
nombre_campo_n tipo_n, total INT(4),
KEY(id_pedido,id_cliente,id_articulo)
Key(campo_x,...) )
)
Create Table articulos
ALTER (
id_articulo INT(4) NOT NULL AUTO_INCREMENT,
ALTER TABLE personas titulo VARCHAR(50),
RENAME usuarios autor VARCHAR(25),
editorial VARCHAR(25),
precio REAL,
Cambia el nomnbre de la tabla KEY(id_articulo)
'personas' a 'usuarios' )
Consulta de selección
Hay que empezar por la palabra SELECT, después puedes poner ALL(Predicado) o
nada, a continuación un nombre de columna(Campos), o varios separados por
comas(,), a continuación la palabra FROM(Clausula) y una expresión-tabla, y por
último de forma opcional puedes incluir la cláusula WHERE con una condición-de-
búsqueda.

SELECT Campos FROM Tabla SELECT CodigoPostal, Nombre,


SELECT Nombre, Teléfono FROM Clientes Telefono
FROM Clientes
ORDER BY Nombre

Consulta para traer un registro cuyo campo empiece por


determinado valor. Ejemplo: traer nombre del cliente donde el
campo de dirección empiece por AV, se usa clausula LIKE
SELECT NOMBRE_CLIENTE FROM TABLA_CLIENTES WHERE
CAMPO_DIRECCION LIKE “AV%”.
Consulta para traer los registros cuyo campo buscado este dentro de un rango dado.
Ejemplo: traer los registros de las facturas cuyos números de facturas estén entre 102 y 118.
Para lo cual se usa la clausula BETWEEN.
SELECT * FROM TABLA_FACTURAS WHERE CODIGO_FACTURA BETWEEN 102 and 118.

Consulta para sumar un campo de una tabla:


SELECT SUM (CAMPO_VALOR) FROM TABLA_TOTALES

Insertar registros en una tabla:

INSERT INTO "nombre_tabla" ("columna1", "columna2", ...)


VALUES ("valor1", "valor2", ...)

INSERT INTO "Estudiante" (Nombre, Apellido, ...)


VALUES (Andres, wood,...)

También podría gustarte