0% encontró este documento útil (0 votos)
18 vistas39 páginas

Introducción a Bases de Datos

El documento proporciona una visión general sobre bases de datos, incluyendo su definición, funciones de los sistemas de gestión de bases de datos (DBMS), y clasificaciones de modelos de datos. Se detalla el modelo relacional, sus propiedades, y conceptos clave como claves primarias y ajenas, así como el uso de SQL para la manipulación y definición de datos. También se abordan aspectos de seguridad y administración de usuarios en bases de datos como MySQL.

Cargado por

arenagamesvault
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas39 páginas

Introducción a Bases de Datos

El documento proporciona una visión general sobre bases de datos, incluyendo su definición, funciones de los sistemas de gestión de bases de datos (DBMS), y clasificaciones de modelos de datos. Se detalla el modelo relacional, sus propiedades, y conceptos clave como claves primarias y ajenas, así como el uso de SQL para la manipulación y definición de datos. También se abordan aspectos de seguridad y administración de usuarios en bases de datos como MySQL.

Cargado por

arenagamesvault
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

MODULO DE BASE DE DATOS


2
CONCEPTO
Una base de datos es
una colección de datos relacionados.

Representa algún Tiene un


aspecto del mundo propósito
real Es una colección de específico.
datos lógicamente
coherente
3
DBMS
Data Base Management System
Sistema de Administración de Base de Datos

 Permiten definir la estructuras de datos a


almacenar.
 Proveen de mecanismos de manipulación de
datos.
 Se encargan de garantizar la fiabilidad de la
información almacenada.
 Manejan la concurrencia de usuarios accediendo
a una misma base de datos
4
DBMS
Funciones

Construcción
Compartir
Metadatos de la base Manipulación
datos
de datos

Transaccio- Manteni-
Consultas Protección
nes miento

5
Sistemas de Base de Datos
Centralizados y Distribuidos

Servidor de BD instalado Servidor de BD externo


localmente en la computadora Comunicación TCP/IP
6
Clasificación de Bases de Datos
• Modelo de datos: es una serie de conceptos que sirven para
describir un conjunto de datos y las operaciones para
MODELO DE manipularlos.
DATOS • Expresividad
• Tipos de modelos de datos:
• Simplicidad
- Modelos conceptuales
- Modelos lógicos. • Minimalidad
• Formalidad

• Un esquema es un conjunto de representaciones lingüísticas o


ESQUEMA gráficas que describen la estructura de los datos de interés.

• Se utilizan modelos de datos para describir un esquema.

7
Clasificación de Bases de Datos

Cronológicamente los modelos de datos fueron:

 Basados en sistemas de archivos convencionales

 Jerárquico

 De Red

8
Clasificación de Bases de Datos

 Entidad-Relación

 Orientado a Objetos

9
Clasificación de Bases de Datos

 Orientado a Documentos

 Multidimensional

10
Base de Datos Relacional
• El modelo relacional representa la base de datos como una colección
de relaciones.
• Cada una de estas relaciones se parece a una tabla de valores.

Entidad
Instancia

11
Base de Datos Relacional

Entidad Instancia

Atributo
Identificador

12
Base de Datos Relacional
Entidad
• Una relación corresponde a lo que conocemos como tabla.
• Un atributo corresponde a una columna o campo. El número de
atributos se denomina grado. Instancia
• Una tupla corresponde a una fila o registro de esa tabla.
• El número de tuplas de una tabla se denomina cardinalidad.
• La clave primaria es un identificador único para la tabla, es decir una
columna o combinación de columnas con la siguiente propiedad: Atributo
“Nunca existen dos filas de la tabla con el mismo valor en esa
Identificador
columna o combinación de columnas.”
• Un dominio es una colección de valores, de los cuales uno o más
atributos (columnas) obtienen sus valores reales.
13
Base de Datos Relacional
RELACIONES Propiedades de las Relaciones:
• No existen tuplas repetidas.
• Las tuplas no tienen que estar ordenadas.
• Los atributos no tienen que estar ordenados.
• Todos los valores de los atributos son atómicos

14
Base de Datos Relacional
REGLA DE Un atributo a (posiblemente compuesto) de la relación
INTEGRIDAD
R es una clave candidata de R, sí y solo sí satisface
Clave Primaria
las siguientes propiedades:

• Unicidad: no existen dos • Minimalidad: si a es un atributo


tuplas de R con el mismo valor compuesto, no puedo eliminar un
de a, en un momento dado. componente de a sin destruir la
propiedad de unicidad.

15
Base de Datos Relacional
REGLA DE
• Toda relación tendrá por fuerza una clave primaria.
INTEGRIDAD
• La clave primaria es la que tiene verdadera importancia; las demás,
Clave Primaria claves candidatas y alternativas, son sólo conceptos que surgen en el
proceso de decisión.
• Al nombrar al atributo identificador, es conveniente hacerlo como clave
primaria, porque hay muchos tipos de claves.

¿Por qué son importantes las Claves Primarias?


• Son importantes porqué constituyen el mecanismo de
direccionamiento a nivel de tuplas, básico en un sistema relacional.
• Es el único modo garantizado por el sistema para localizar una tupla
específica.
• Ningún componente de la clave primaria de una relación base puede
aceptar nulos.

16
Base de Datos Relacional
En una base de datos relacional, nunca registraremos
REGLA DE información de algo que no podamos identificar.
INTEGRIDAD • Para las claves primarias compuestas: cada valor individual de
Relaciones la clave primaria debe ser no nulo en su totalidad.
• Esta regla se aplica a las relaciones base únicamente.
• Se aplica sólo a las claves primarias.

REGLA DE La clave ajena (FOREIGN KEY, en inglés) es un atributo


INTEGRIDAD (quizás compuesto) de una relación R2 cuyos valores
Claves Ajenas deben concordar con los de la clave primaria de alguna
otra relación R1.
17
Motores de Bases de Datos Relacionales

Es el servicio que permite interactuar


con la base de datos, permitiendo
almacenar los datos, procesarlos y
recuperarlos.

18
Motores de Bases de Datos Relacionales

TRANSACCIONES

ÍNDICES

PROCEDIMIENTOS ALMACENADOS Y
FUNCIONES

VISTAS

TRIGGERS O DISPARADORES

19
Motores de Bases de Datos Relacionales

TRANSACCIONES

1. Sirven para definir unidades lógicas del Caída del


sistema.
procesamiento de una base de datos.
2. Incluye una o más operaciones de acceso a la base Error en
de datos. transacción.
3. El DBMS es responsable de garantizar que todas las
operaciones de la transacción se completen Control de
Concurrencia.
satisfactoriamente.
4. El DBMS no debe permitir que algunas operaciones de Fallo del disco.
una transacción T se apliquen a la base de datos
mientras otras no. Esto puede pasar si ocurre un fallo a Problemas
lo largo de la ejecución de las operaciones. físicos y
catástrofes
20
Motores de Bases de Datos Relacionales
TRANSACCIONES

Propiedades Estados de una transacción y


operaciones adicionales

• Atomicidad
• Consistencia
• Aislamiento
• Durabilidad

21
Motores de Bases de Datos Relacionales

ÍNDICES

• Son comparables a los índices de


los libros en las bibliotecas.
• Se puede más de un índice por
relación. Por ejemplo, se puede Índices ordenados: estos índices
buscar un libro según el autor, la están basados en una disposición
ordenada de los valores.
materia o el título.
• Los atributos o conjunto de
atributos usados para buscar se Índices asociativos: estos índices
están basados en una distribución
llaman claves de búsqueda. uniforme de los valores a través de
• Hay dos tipos básicos de índices: una serie de cajones (buckets).
22
Motores de Bases de Datos Relacionales

ÍNDICES ORDENADOS

Pueden ser de tres tipos:


Índice principal o
primario: Índice agrupado:
Cuando el campo de Ordenación física
Cuando el campo de ordenación no es un
ordenación es un campo clave.
campo clave.

Índice secundario: Puede tener un índice


se puede especificar principal o un agrupado
sobre cualquier
campo no ordenado
de un fichero.

23
Motores de Bases de Datos Relacionales
PROCEDIMIENTOS ALMACENADOS Y
FUNCIONES

En ocasiones es útil crear módulos de programa de bases de datos


(procedimientos o funciones) que el DBMS almacena y ejecuta en el servidor de
bases de datos. Pueden estar compuesto por comandos SQL sencillos, como
recuperaciones y actualizaciones

CREATE FUNCTION <nombre de la función> «parámetros»


RETURNS <tipo de devolución>
<declaraciones locales>
<cuerpo de la función>;

CREATE PROCEDURE <nombre del procedimiento> «parámetros»


<declaraciones locales>
<cuerpo del procedimiento>;
Los parámetros y las declaraciones locales son opcionales.
24
Motores de Bases de Datos Relacionales

VISTAS TRIGGERS O DISPARADORES

• Es una tabla que deriva de otras • SQL brinda un mecanismo que permite
tablas. Esas otras tablas pueden ser que a partir de una acción se
tablas base o vistas definidas desencadene la ejecución de otras
anteriormente. acciones.
• Una vista no existe necesariamente • TRIGGER o DISPARADOR es una
en formato físico; está considerada acción o evento que genera que otro
como una tabla virtual. evento ocurra.
• Limita las posibles operaciones de • Ejemplo: Logs
actualización.
• Sin limitación alguna al consultar
una vista.
25
Lenguaje de Consulta SQL

Structured Query Language


Lenguaje de Consulta Estructurado

Lenguaje de definición de datos: DDL


(Data Definition Language). Permiten
crear y definir nuevas bases de
datos, campos e índices
SQL brinda diferentes sentencias para
definir datos, realizar consultas y
actualizaciones.
Lenguaje de manipulación de datos:
DML (Data Manipulation Language).
Permiten generar consultas para
ordenar, filtrar y extraer datos de la
base de datos

26
Lenguaje de Consulta SQL

DDL
 CREATE: Crea nuevas tablas, campos e índices.
 DROP: Elimina tablas e índices.
 ALTER: Modifica las tablas agregando campos o cambiando la definición de
los campos.

DML
 SELECT: Consulta registros de la base de datos que satisfagan un criterio
determinado.
 INSERT: Carga lotes de datos en la base de datos en una única operación.
 UPDATE: Modifica los valores de los campos y registros especificados.
 DELETE: Elimina registros de una tabla de una base de datos.

27
Lenguaje de Consulta SQL
Create Database
DDL
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] nombre_base_datos

Create Table
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] nombre_de_tabla
nombre_de_columna tipo_de_dato [NOT NULL | NULL] [DEFAULT
valor_por_defecto]
[AUTO_INCREMENT] [UNIQUE | [PRIMARY] KEY
[CONSTRAINT [nombre_relación] FOREIGN KEY (nombre_columna)
REFERENCES nombre_de_tabla (nombre_columna)]
[ON DELETE opciones_de_referencia]
[ON UPDATE opciones_de_referencia]
Create Index
CREATE INDEX nombre_indice
ON nombre_tabla (col_name [(length)] [ASC |
DESC])
[opcion_algoritmo | opcion_bloqueo]
28 ...
Lenguaje de Consulta SQL
DDL Alter Table
ALTER [IGNORE] TABLE nombre_tabla
ADD [COLUMN] nombre_columna columna_definicion
[FIRST | AFTER col_nombre]
| ADD [COLUMN] (nombre_columna definición_columna)
| ADD {INDEX|KEY} [nombre_indice]
[tipo_indice] (nombre_columna_indice) [indice_opcion] ...
| ADD [CONSTRAINT] PRIMARY KEY
[indice_type] (indice_col_nombre,...) [indice_opcion] ...
| ADD [CONSTRAINT [nombre_relación] FOREIGN KEY
(nombre_columna)
REFERENCES nombre_de_tabla (nombre_columna)]

Drop Table
DROP [TEMPORARY] TABLE [IF EXISTS]
nombre_tabla [,nombre_tabla] ...

29
Lenguaje de Consulta SQL
SELECT <lista de atributos>
DML
SELECT FROM <lista de tablas>
WHERE <condición>;

SELECT nombre_columna,nombre_columna FROM nombre_tabla;

SELECT * FROM nombre_tabla;

SELECT DISTINCT nombre_columna, nombre_columna FROM nombre_tabla;


SELECT nombre_columna, nombre_columna FROM nombre_tabla WHERE
nombre_columna operador valor;
SELECT nro, fecha, monto, cliente_nombre FROM facturas WHERE monto >200;
SELECT SUM (sueldo), MAX (sueldo), MIN (sueldo), AVG(sueldo)FROM
empleados

30
Lenguaje de Consulta SQL

DML
Consulta multi-tablas.

SELECT Película.nombre, Función.dia_semana,


Función.hora_inicio
FROM Pelicula INNER JOIN Funcion ON
Funcion.id_pelicula =
Pelicula.id_pelicula

31
Lenguaje de Consulta SQL

DML
Consulta multi-tablas Abreviación del nombre de la
tabla.

SELECT pel.nombre, fun.hora_inicio, fun.dia_semana AS dia,


FROM Pelicula pel INNER JOIN Funcion fun
ON fun.id_pelicula = pel.id_pelicula Renombrado de
columna

LEFT JOIN != RIGHT JOIN != INNER JOIN


32
Lenguaje de Consulta SQL

DML
Subconsultas
Una subconsulta es una consulta anidada en una
instrucción SELECT, INSERT, UPDATE o DELETE,
o bien en otra subconsulta.

SELECT * FROM clientes WHERE id IN


(SELECT cliente_id FROM facturas WHERE fecha BETWEEN
2016-10-10 AND 2017-01-01);

33
Lenguaje de Consulta SQL

DML
Subconsultas
Operadores para Subconsultas

• SELECT * FROM tabla WHERE columna ANY ( [ SUBCONSULTA ] )

• SELECT * FROM tabla WHERE columna ALL ( [ SUBCONSULTA ] )

• SELECT * FROM tabla WHERE columna IN ( [ SUBCONSULTA ] )

• SELECT * FROM tabla WHERE EXISTS ( [ SUBCONSULTA ] )


34
Lenguaje de Consulta SQL

DML UPDATE Pelicula


UPDATE
SET disponible=1, duracion=160
WHERE id_pelicula=4

UPDATE nombre_tabla SET


col_nombre_1={valor1|DEFAULT} ,
col_nombre_2={valor2|DEFAULT}
[WHERE condicion]
[ORDER BY ...]
[LIMIT cantidad_filas]

35
Lenguaje de Consulta SQL

DML
INSERT
INSERT INTO nombre_tabla
INSERT INTO pelicula (columna1, columna2,
VALUES (2, 2014, true, 122, columna3,...)
01/08/2014, "Relatos Salvajes", VALUES (valor, valor2,
"Relatos Salvajes",1) valor3,...);

DELETE FROM nombre_tabla


DELETE [WHERE condicion]
DELETE FROM Pelicula [ORDER BY ...]
WHERE anio_estreno <1990 [LIMIT cantidad_filas]

36
Seguridad

Temas de
Niveles de
políticas a nivel
Aspectos Temas relativos seguridad y
gubernamental,
legales y éticos al sistema. acceso a datos
institucional o
según nivel.
de empresa.

Amenazas

Pérdida de Pérdida de
Pérdida de integridad.
disponibilidad. confidencialidad

37
Administración de cuentas de usuario en
MySQL

Crear usuario • CREATE USER 'nombre_usuario'@'localhost'


IDENTIFIED BY ‘tu_contrasena';
Asignarle • GRANT [permiso] ON [nombre de bases de
permisos datos].[nombre de tabla] TO ‘[nombre de
usuario]’@'localhost’;
Remover • REVOKE [permiso] ON [nombre de base de
permisos datos].[nombre de tabla] FROM ‘[nombre de
Refrescar usuario]’@‘localhost’;
permisos • FLUSH PRIVILEGES;
Remover • DROP USER ‘usuario_prueba’@‘localhost’;
usuario
38
Administración de cuentas de usuario en
MySQL
Permisos • ALL PRIVILEGES: esta opción otorga todos los
permisos listados debajo.
• CREATE: permite crear nuevas tablas o bases de
datos.
• DROP: permite eliminar tablas o bases de datos.
• DELETE: permite eliminar registros de tablas.
• INSERT: permite insertar registros en tablas.
• SELECT: permite leer registros en las tablas.
• UPDATE: permite actualizar registros seleccionados en
tablas.
• GRANT OPTION: permite otorgar o remover privilegios
a otros usuarios usuarios.

39

También podría gustarte