Вы находитесь на странице: 1из 30

Administración de bases de datos

Nombre :
Índice

Unidad 1 - Fundamentos de la administración de base de datos

Unidad 2 - Administración de base de datos

Unidad 3 - Administración de usuarios

Unidad 4 - Seguridad e integridad

Unidad 5 - Respaldo y recuperación

Tareas y trabajos
UNIDAD 1 - FUNDAMENTOS DE LA ADMINISTRACIÓN DE LAS BASES
DE DATOS.
Una base de datos o bancos de datos es un conjunto de datos que pertenecen al
mismo contexto almacenado sistemático para su posterior uso. Una de las Bases de
Datos es un “almacén” que nos permite guardar información de forma organizada para
que luego podamos encontrar y utilizar fácilmente.
El termino Bases de Datos fue escuchado por primera vez en 1963, para definir a un
conjunto de datos relacionados que se encuentran agrupados de forma estructura.
Las bases de datos son el resultado de buscar una solución a los sistemas de
archivos, en los cuales:
 Las estructuras de datos son creadas por los programas y para modificarlas hay
que modificar cada programa que lo accesa.
 Los archivos sólo pueden ser accesados por programas creados en el mismo
lenguaje del programa creador del archivo.
 Para accesar la información se debe recorrer el archivo.
 Los archivos son fáciles de afectar en su estructura y perder los datos.

La creación de una base de datos debe ser realizada cuidadosamente procurando


cumplir con:
Permitir un fácil acceso a la información: El sistema debe ser facilitador de alto
rendimiento, la velocidad es un factor esencial así como la consistencia de los datos.
Evitar redundancia de la información: La información almacenada ocupará
irremediablemente un espacio en memoria por lo cual es de vital importancia eliminar
la posibilidad de almacenar datos repetidos ya que adicionalmente podrían llevarnos a
inconsistencias en la información.
 Independencia lógica y física de los datos.
 Redundancia mínima.
 Acceso concurrente por parte de múltiples usuarios.
 Integridad de los datos.
 Seguridad de acceso y auditoria.
 Respaldo y recuperación.
 Proporcionan una base de seguridad para los datos tanto en la entrada, en su
procesamiento y en su salida.
 Mantienen la consistencia e integridad.
 Permite los respaldos y las recuperaciones.
 Permiten generar diferentes vistas de los datos.
 Controla el acceso a los datos por niveles de usuarios
 Permite mantener la redundancia de datos al mínimo
 Los datos se comparten por múltiples usuarios de forma concurrente.
Los sistemas de gestión de base de datos son un tipo de software muy
específico, dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan. Son un tipo de software dedicado a las
comunicaciones de la base de datos, el usuario y las aplicaciones que la utilizan.
Se compone de un lenguaje de definición de datos, de un lenguaje de
manipulación de datos y de un lenguaje de consulta.
Un sistema de gestión de bases de datos debe permitir definir las estructuras de
almacenamiento, acceder a los datos de forma eficiente y segura, etc.

Ejemplos: Oracle, IBM BD2, Microsoft SQL Server, Interbase, MySQL,


PostgresSQL

ELEMENTOS QUE CONFORMAN UNA SISTEMA GESTOR DE BASES DE


DATOS
Base de Datos
• Datos del usuario o datos operativos
Datos introducidos por los usuarios y almacenados en la base de datos
• Metadatos
Datos sobre los datos
• Metadatos de aplicación
Datos de los programas y los datos de la base con los cuales están
relacionados
• Hardware y Software
Sistema Gestor
• Herramientas de diseño
Permiten diseñar los elementos de la base de datos
• Utilerías de tiempo de ejecución
Programas que se ejecutan cuando la base de datos está trabajando
• Motor de búsqueda
Aplicaciones que permiten hacer funcionar el DBMS /SGBD
Usuarios
• Finales: Utilizan los datos almacenados en la base de datos.
• Programadores de aplicaciones: Responsables de implementar las
aplicaciones.
• Administrador de la base de datos [DBA: DataBase Administrator]:
Responsable de la gestión y administración de la base de datos. Funciones:
Control de acceso a los datos.
Mantenimiento del esquema de la base de datos.
Monitorización del rendimiento del DBMS.
Realización de copias de seguridad.

Aplicación de la base de datos:


Una aplicación de la base de datos consta de formas, consultas, reportes,
menús y programas de aplicación. Los programas de aplicación deben escribirse
en un lenguaje que sea parte del DBMS o en un lenguaje conectado a la base
de datos a través del DBMS.

Los datos se organizan independientemente de las aplicaciones que los vayan a usar
(independencia lógica)y de los ficheros en los que vayan a
almacenarse(independencia física).Los usuarios y las aplicaciones pueden acceder a
los datos mediante el uso de lenguajes de consulta (p.ej.SQL, Query-by-example…).
Los datos se gestionan de forma centralizada e independiente de las aplicaciones.
Consistencia e integridad de los datos.
Fiabilidad (protección frente a fallos).
Seguridad (control de acceso a los datos).
Unidad 2 - ADMINISTRACION DE BASES DE DATOS
El administrador de base de datos (DBA) es el técnico responsable de implementar las
decisiones del administrador de datos. Por lo tanto, debe ser un profesional en IT. El
trabajo del DBA consiste en crear la base de datos real e implementar los controles
técnicos necesarios para hacer cumplir las diversas decisiones de las políticas hechas
por el DA. El DBA también es responsable de asegurar que el sistema opere con el
rendimiento adecuado y de proporcionar una variedad de otros servicios técnicos.
Un administrador de bases de datos (también conocido como DBA, en inglés database
administrator) es aquel profesional que administra las tecnologías de la información y
la comunicación, siendo responsable de los aspectos técnicos, tecnológicos,
científicos, inteligencia de negocios y legales de bases de datos, y de la calidad de
datos.
 Sus tareas incluyen las siguientes:
 Implementar, dar soporte y gestionar bases de datos corporativas.
 Crear y configurar bases de datos relacionales.
 Ser responsables de la integridad de los datos y la disponibilidad.
 Diseñar, desplegar y monitorizar servidores de bases de datos.
 Diseñar la distribución de los datos y las soluciones de almacenamiento.
 Garantizar la seguridad de las bases de datos, realizar copias de seguridad y
llevar a cabo la recuperación de desastres.
 Planificar e implementar el aprovisionamiento de los datos y aplicaciones.
 Diseñar planes de contingencia.
 Diseñar y crear las bases de datos corporativas de soluciones avanzadas.
 Analizar y reportar datos corporativos que ayuden a la toma de decisiones en la
inteligencia de negocios.
 Producir diagramas de entidades relacionales y diagramas de flujos de datos,
normalización esquemática, localización lógica y física de bases de datos y
parámetros de tablas.

Los administradores de bases de datos tienen competencias y capacidades en uno o


más sistemas de gestión de bases de datos, algunos ejemplos: Microsoft SQL Server,
IBM DB2, Oracle MySQL, Oracle database, IBM Informix y SQL Anywhere.
En ingeniería estadística es una de las cualificaciones subyacentes, que trata la
información para almacenarla, hacerla altamente explotable y altamente disponible.
Además, vela por la eficacia tecnológica del almacenamiento en el desempeño de
investigaciones, buscando inferencias sólidas y compactas, para canalizar resultados
manteniendo un equilibrio entre las ciencias involucradas y la propiamente
enunciada, ingeniería estadística de las ciencias de la computación.
El control de tecnologías de bases de datos y las matemáticas permite al DBA rendir
informes, realizar reportes sobre cualquier proceso industrial y participar de forma
activa en procesos avanzados de desarrollo, consolidando las capacidades propias de
un profesional de tecnologías de la información y un ingeniero especialista.
Los factores de éxito en la carrera del DBA se versan sobre las cualificaciones en los
avances de las tecnologías de gestión del almacenamiento, los avances en sistemas
gestores de bases de datos y requerimientos de cualificación para cada proyecto
como garantía de calidad necesaria en el rol a asignar, incluyendo, técnicas
avanzadas de gestión de infraestructuras tecnológicas, la gestión de protocolos y
servicios de redes, la optimización de código de programación, garantizar el
procesamiento eficaz de información, la gestión de interfaces integrales para el
tratamiento de datos, la gestión de cambios, la gestión por objetivos y las gestión por
resultados.
La DBMS o SGBD es capaz de emplear algoritmos de almacenamiento y recuperación
de información para poder implementar un modelo de datos de manera física
garantizando que todas las transacciones que se realizan con respecto a dichos datos
sean acidas (Atomicity, Consistency, Isolation, Duration).
Una base de datos en ejecución consta de 3 cosas:
1. Archivos
 Control (ctl): almacenan información acerca de la estructura de archivos de la
base.
 Rollback (rbs): cuando se modifica el valor de alguna tupla en una transacción,
los valores nuevos y anteriores se almacenan en un archivo, de modo que si
ocurre algún error, se puede regresar (rollback) a un estado anterior.
 Redo (rdo): bitácora de toda transacción, en muchos dbms incluye todo tipo de
consulta incluyendo aquellas que no modifican los datos.
 Datos (dbf): el tipo más común, almacena la información que es accesada en la
base de datos.
 Indices (dbf) (dbi): archivos hermanos de los datos para acceso rápido.
 Temp (tmp): localidades en disco dedicadas a operaciones de ordenamiento o
alguna actividad particular que requiera espacio temporal adicional.
2. Memoria
 Shared Global Area (SGA): es el área más grande de memoria y quizás el más
importante.
 Shared Pool: es una caché que mejora el rendimiento ya que almacena parte del
diccionario de datos y el parsing de algunas consultas en SQL.
 Redo Log Buffer: contiene un registro de todas las transacciones dentro de la
base, las cuales se almacenan en el respectivo archivo de Redo y en caso de
siniestro se vuelven a ejecutar aquellos cambios que aún no se hayan reflejado
en el archivo de datos (commit).
 Large Pool: espacio adicional, generalmente usado en casos de multithreading y
esclavos de I/O.
 Java Pool: usado principalmente para almacenar objetos Java
 Program Global Area (PGA): información del estado de cursores/apuntadores.
 User Global Area(UGA): información de sesión, espacio de stack.
3. Procesos
 Threading.
 System Monitor: despierta periódicamente y realiza algunas actividades entre las
que se encuentran la recuperación de errores, recuperación de espacio libre en
tablespaces y en segmentos temporales.
 Process Monitor: limpia aquellos procesos que el usuario termina de manera
anormal, verificando consistencias, liberación de recursos, bloqueos.
 Database Writer: escribe bloques de datos modificados del buffer al disco,
aquellas transacciones que llegan a un estado de commit.
 Log Writer: escribe todo lo que se encuentra en el redo log buffer hacia el redo
file.
 Checkpoint: sincroniza todo lo que se tenga en memoria, con sus
correspondientes archivos en disco.
Un registro (también llamado fila o tupla) representa un objeto único
de datos implícitamente estructurados en una tabla. En términos simples, una tabla de
una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila
de una tabla representa un conjunto de datos relacionados, y todas las filas de la
misma tabla tienen la misma estructura.
Un registro es un conjunto de campos que contienen los datos que pertenecen a una
misma repetición de entidad. Se le asigna automáticamente un número consecutivo
(número de registro) que en ocasiones es usado como índice aunque lo normal y
práctico es asignarle a cada registro un campo clave para su búsqueda.
UNIDAD 3 – ADMINISTRACION DE USUARIO
Uno de los objetivos principales de los sistemas de bases de datos es recuperar
información de la base de datos y almacenar en ella información nueva. Las personas
que trabajan con una base de datos se pueden clasificar como usuarios o
administradores de bases de datos.
Usuarios de bases de datos e interfaces de usuario
Hay cuatro tipos diferentes de usuarios de los sistemas de bases de datos,
diferenciados por la forma en que esperan interactuar con el sistema. Se han diseñado
diferentes tipos de interfaces de usuario para los diferentes tipos de usuarios.

 Los usuarios normales son usuarios no sofisticados que interactúan con el


sistema invocando alguno de los programas de aplicación que se han escrito
previamente. Por ejemplo, un cajero bancario que necesita transferir 50 e de la
cuenta A a la cuenta B invoca un programa llamado transferencia. Ese programa
le pide al cajero el importe de dinero que se va a transferir, la cuenta desde la
que se va a transferir el dinero y la cuenta a la que se va a transferir el dinero.
Como ejemplo adicional, considérese un usuario que desea averiguar el saldo
de su cuenta en World Wide Web. Ese usuario puede acceder a un formulario en
el que introduce su número de cuenta. Un programa de aplicación en el servidor
Web recupera entonces el saldo de la cuenta, usando el número de cuenta
proporcionado, y devuelve la información al usuario. La interfaz de usuario
habitual para los usuarios normales es una interfaz de formularios, donde el
usuario puede rellenar los campos correspondientes del formulario. Los usuarios
normales también pueden limitarse a leer informes generados por la base de
datos.

 Los programadores de aplicaciones son profesionales informáticos que


escriben programas de aplicación. Los programadores de aplicaciones pueden
elegir entre muchas herramientas para desarrollar las interfaces de usuario. Las
herramientas de desarrollo rápido de aplicaciones (DRA) son herramientas que
permiten al programador de aplicaciones crear formularios e informes con un
mínimo esfuerzo de programación.

 Los usuarios sofisticados interactúan con el sistema sin escribir programas. En


su lugar, formulan sus consultas en un lenguaje de consultas de bases de datos.
Remiten cada una de las consultas al procesador de consultas, cuya función
es dividir las instrucciones LMD en instrucciones que el gestor de
almacenamiento entienda. Los analistas que remiten las consultas para explorar
los datos de la base de datos entran en esta categoría.

 Los usuarios especializados son usuarios sofisticados que escriben


aplicaciones de bases de datos especializadas que no encajan en el marco
tradicional del procesamiento de datos. Entre estas aplicaciones están los
sistemas de diseño asistido por computadora, los sistemas de bases de
conocimientos y los sistemas expertos, los sistemas que almacenan datos con
tipos de datos complejos (por ejemplo, los datos gráficos y los datos de sonido) y
los sistemas de modelado del entorno.
TIPOS DE USUARIOS:
El DBA, tiene permitidas todas las operaciones, conceder privilegios y establecer
usuarios:
 Usuario con derecho a crear, borrar y modificar objetos y que además puede
conceder privilegios a otros usuarios sobre los objetos que ha creado.
 Usuario con derecho a consultar, o actualizar, y sin derecho a crear o borrar
objetos.
UNIDAD 4 – SEGURIDAD E INTEGRIDAD
SEGURIDAD
La seguridad de los datos implica protegerlos de operaciones indebidas que pongan
en peligro su definición, existencia, consistencia e integridad independientemente de
la persona que los accede. Esto se logra mediante mecanismos que permiten
estructurar y controlar el acceso y actualización de los mismos sin necesidad de
modificar o alterar el diseño del modelo de datos; definido de acuerdo a los requisitos
del sistema o aplicación software.
El objetivo es proteger la Base de Datos contra accesos no autorizados. Se llama
también privacidad.
INCLUYE ASPECTOS DE:
 Aspectos legales, sociales y éticos
 Políticas de la empresa, niveles de información pública y privada
 Controles de tipo físico, acceso a las instalaciones
 Identificación de usuarios: voz, retina del ojo, etc.
 Controles de sistema operativo.
Los SGBD tienen opciones que permiten manejar la seguridad, tal como GRANT,
REVOKE, etc. También tienen un archivo de auditoria en donde se registran las
operaciones que realizan los usuarios.
 MEDIDAS DE SEGURIDAD
 Físicas: Controlar el acceso al equipo. Tarjetas de acceso, etc.
 Personal: Acceso sólo del personal autorizado. Evitar sobornos, etc.
 SO: Seguridad a nivel de SO.
 Herramientas de seguridad, perfiles de usuario, vistas, restricciones de uso de
vistas, etc.
SEGURIDAD: Fallos lógicos o físicos que destruyan los datos.
 Evitar pérdidas de datos por fallos hardware o software (fallo disco, etc.).
Normalmente suelen ser fallos de disco o pérdida de memoria RAM.
 Aparte del punto de vista de los SGBD, intervienen otros niveles (ej: discos
replicados, etc.)
 A pesar de estos posibles fallos la base de datos debe quedar siempre en un
estado consistente.
LAS TRES PRINCIPALES CARACTERÍSTICAS DE LA SEGURIDAD
 Que se deben mantener en una base de datos son la confidencialidad, la
integridad y la disponibilidad de la información.
 Los datos contenidos en una Base de Datos pueden ser individuales o de una
Organización.
 Sean de un tipo o de otro, a no ser que su propietario lo autorice, no deben ser
desvelados. Si esta revelación es autorizada por dicho propietario la
confidencialidad se mantiene. Es decir, asegurar la confidencialidad significa
prevenir/ detectar/ impedir la revelación impropia de la información.
INTEGRIDAD
La condición de Integridad Referencial se refiere a que si un valor que aparece en una
relación para un conjunto de atributos determinado entonces aparece también en otra
relación para un cierto conjunto de atributos.
•La integridad referencial es una propiedad deseable en las bases de datos mediante
la cual se garantiza que una entidad siempre se relaciona con otras entidades que
existen en la base de datos.
•La integridad referencial es un sistema de reglas que utilizan la mayoría de las bases
de datos relacionales para asegurarse que los registros de tablas relacionadas son
válidos y que no se borren o cambien datos relacionados de forma accidental
produciendo errores de integridad.
 Cuando se define una columna como clave foránea, las filas de la tabla pueden
contener en esa columna o bien el valor nulo (ningún valor), o bien un valor que
existe en otra tabla, un error sería asignar a un habitante una población que no
está en la tabla de poblaciones.

 La integridad referencial consiste en que los datos que referencian otros (claves
foráneas) deben ser correctos.

 La integridad referencial se activa en cuanto creamos una clave foránea y a


partir de ese momento se comprueba cada vez que se modifiquen datos que
puedan alterarla.
Una persona se identifica por su atributo CI (Cédula de Identidad). Tiene además otros
atributos como el nombre y la dirección. La entidad Factura tiene un atributo CI (del
cliente) que identifica a quién pertenece la factura. Por sentido común es evidente que
todo valor de CI debe corresponder con algún valor existente del atributo CI de la
entidad Persona. Cuando se crea una nueva instancia de Factura, la integridad
referencial exige que el atributo CI coincida con el atributo CI de alguna instancia de la
entidad Persona. En caso contrario, no se permite la operación. Cuando se intenta
eliminar una instancia de Persona, la integridad referencial exige que no exista
ninguna factura asociada, es decir, se comprueba que no existe ninguna instancia de
Factura cuyo atributo CI coincida con el atributo CI de la instancia a borrar. En caso
contrario, no se permite la operación.
Cuándo se pueden producir errores en los datos?
•Cuando insertamos una nueva fila en la tabla secundaria y el valor de la clave
foránea no existe en la tabla principal.
•Cuando modificamos el valor de la clave principal de un registro que tiene ‘hijos’.
•Cuando modificamos el valor de la clave foránea, el nuevo valor debe existir en la
tabla principal.
•Cuando queremos borrar una fila de la tabla principal y ese registro tiene ‘hijos’.

•Actualizar registros en cascada:


Esta opción le indica al SGBD que cuando se cambie un valor del campo clave de la
tabla principal, automáticamente cambiará el valor de la clave foránea de los registros
relacionados en la tabla secundaria.
•Eliminar registros en cascada:
Esta opción le indica al SGBD que cuando se elimina un registro de la tabla principal
automáticamente se borran también los registros relacionados en la tabla secundaria.
UNIDAD 5 - “RESPALDO Y RECUPERACION”
INTRODUCCION
Los SGBD deben proporcionan instrumentos para evitar o remediar fallos. Ante
cualquier tipo de fallo hay que asegurar que después de una actualización, la BD
queda en estado consistente Un sistema de recuperación consiste en restaurar la BD
a un estado que se sepa correcto, tras cualquier fallo que la haya dejado en un estado
incorrecto o al menos sospechoso.

La base de datos ofrece una serie de posibilidades de respaldo y recuperación, de


acuerdo con su configuración, características operativas y de disponibilidad de cada
una de ellas, además de los requerimientos de la empresa o área de negocio.

El objetivo de este servicio es evaluar la situación particular de cada base de datos, y


proponer el mejor esquema de respaldo, que garantice según las posibilidades de
cada empresa, la mayor disponibilidad y la menor pérdida de información ante un
desastre.
DESARROLLO

RECUPERACION
Concepto
Un sistema de recuperación consiste en restaurar la BD a un estado que se sepa
correcto, tras cualquier fallo que la haya dejado en un estado incorrecto.
Recuperación de BD:
“devolver la BD a un estado consistente”
La recuperabilidad significa que, si se da algún error en los datos, hay un bug de
programa ó de hardware, el DBA (Administrador de base de datos) puede traer de
vuelta la base de datos al tiempo y estado en que se encontraba en estado
consistente antes de que el daño se causara. Las actividades de recuperación
incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de
manera que se minimice el riesgo de daño ó pérdida de los mismos, tales como hacer
diversas copias en medios de almacenamiento removibles y almacenarlos fuera del
área en antelación a un desastre anticipado. La recuperación es una de las tareas
más importantes de los DBA’s.
La recuperabilidad, frecuentemente denominada “recuperación de desastres”, tiene
dos formas primarias. La primera son los respaldos y después las pruebas de
recuperación.
La recuperación de las bases de datos consisten en información y estampas de
tiempo junto con bitácoras los cuales se cambian de manera tal que sean consistentes
en un momento y fecha en particular. Es posible hacer respaldos de la base de datos
que no incluyan las estampas de tiempo y las bitácoras, la diferencia reside en que el
DBA debe sacar de línea la base de datos en caso de llevar a cabo una recuperación.
Las pruebas de recuperación consisten en la restauración de los datos, después se
aplican las bitácoras a esos datos para restaurar la base de datos y llevarla a un
estado consistente en un tiempo y momento determinados. Alternativamente se puede
restaurar una base de datos que se encuentra fuera de línea sustituyendo con una
copia de la base de datos.
Si el DBA (o el administrador) intentan implementar un plan de recuperación de bases
de datos sin pruebas de recuperación, no existe la certeza de que los respaldos sean
del todo válidos. En la práctica, los respaldos de la mayoría de los RDBMSs son
raramente válidos si no se hacen pruebas exhaustivas que aseguren que no ha habido
errores humanos ó bugs que pudieran haber corrompido los respaldos.

RESPALDO
Es la obtención de una copia de los datos en otro medio magnetico, de tal modo que a
partir de dicha copia es posible restaurar el sistema al momento de haber realizado el
respaldo. Por lo tanto, los respaldos deben hacerse con regularidad, con la frecuencia
preestablecida y de la manera indicada, a efectos de hacerlos correctamente.
Es fundamental hacer bien los respaldos. De nada sirven respaldos mal hechos ( por
ejemplo incompletos). En realidad, es peor disponer de respaldos no confiables que
carecer totalmente de ellos.
Suele ocurror que la realización de respaldos es relegada a un plano secundario.
Existen varias maneras de respaldar base de datos MySQL, en este post unicamente
mostraré una manera de hacerlo utilizando mysqldump() y PHP.
Basicamente lo que se realiza es un resplado de todas las bases de datos, por lo que
el script debe ejecutarse como un usuario que tenga permisos sobre todas las bases.
Adicionalmente se mantiene en disco las ultimas 3 copias de los respaldos.
$backupFile”;

exec($command, $salida);
// Mantiene los ultimos 3 backups
$days=3;
$archivos = scandir(“./”);
foreach ($archivos as $key => $val)
{
if(substr($val,-2) != “gz”)
unset($archivos[$key]);
}
$i=count($archivos);
foreach ($archivos as $key => $val)
{
if($i
Para sacar un respaldo a tu base de datos usas el mysqldump:
Código PHP:
//
shell> mysqldump -u usuario [-p] nombreBase > respaldoBase.sql
//

shell> mysqldump -u usuario [-p] nombreBase >


/directorio/donde/guardas/respaldoBase.sql
Respaldar la Base de datos MySQL
Hay ocaciones donde es necesario tener el “codigo” de nuestra base de datos, ya sea
para hacer un respaldo , para migrar la BD a otro servidor o simplemente por que se
nos da la gana.
Para esto MySQL cuenta con un comando muy bueno, el cual nos entrega un archivo
con todas las tablas, relaciones y registros que se encuentran en la BD.
mysqldump -u usuario -p nombreDB > Archivo_de_salida.sql
Donde usuario hay que reemplazarlo con nuestro nombre de usuario.
Lo unico que hay que considerar es que en el script no se encuentra la creacion de la
BD, asi que antes de ingresar este archivo pa crear la BD es necesario agregar las
siguientes lineas al inicio del archivo:
CREATE nombre_base_de_datos;
USE nombre_base_de_datos;
TAREAS Y TRABAJOS
12 Reglas de las Bases de Datos
– Regla 0: el sistema debe ser relacional, base de datos y administrador de
sistema. Ese sistema debe utilizar sus facilidades relacionales (exclusivamente) para
manejar la base de datos.
– Regla 1: la regla de la información, toda la información en la base de datos es
representada unidireccionalmente, por valores en posiciones de las columnas dentro
de filas de tablas. Toda la información en una base de datos relacional se representa
explícitamente en el nivel lógico exactamente de una manera: con valores en tablas.
– Regla 2: la regla del acceso garantizado, todos los datos deben ser accesibles
sin ambigüedad. Esta regla es esencialmente una nueva exposición del requisito
fundamental para las llaves primarias. Dice que cada valor escalar individual en la
base de datos debe ser lógicamente direccionable especificando el nombre de la
tabla, la columna que lo contiene y la llave primaria.
– Regla 3: tratamiento sistemático de valores nulos, el sistema de gestión de
base de datos debe permitir que haya campos nulos. Debe tener una representación
de la “información que falta y de la información inaplicable” que es sistemática, distinto
de todos los valores regulares.
– Regla 4: catálogo dinámico en línea basado en el modelo relacional, el
sistema debe soportar un catálogo en línea, el catálogo relacional debe ser accesible
a los usuarios autorizados. Es decir, los usuarios deben poder tener acceso a la
estructura de la base de datos (catálogo).
– Regla 5: la regla comprensiva del sublenguaje de los datos, el sistema debe
soportar por lo menos un lenguaje relacional que:

 Tenga una sintaxis lineal.


 Puede ser utilizado de manera interactiva.
 Soporte operaciones de definición de datos, operaciones de manipulación de
datos (actualización así como la recuperación), seguridad e integridad y
operaciones de administración de transacciones.

– Regla 6: regla de actualización, todas las vistas que son teóricamente


actualizables deben ser actualizables por el sistema.
– Regla 7: alto nivel de inserción, actualización, y cancelación, el sistema debe
soportar suministrar datos en el mismo tiempo que se inserte, actualiza o esté
borrando. Esto significa que los datos se pueden recuperar de una base de datos
relacional en los sistemas construidos de datos de filas múltiples y/o de tablas
múltiples.
– Regla 8: independencia física de los datos, los programas de aplicación y
actividades del terminal permanecen inalterados a nivel lógico cuandoquiera que se
realicen cambios en las representaciones de almacenamiento o métodos de acceso.
– Regla 9: independencia lógica de los datos, los cambios al nivel lógico (tablas,
columnas, filas, etc.) no deben requerir un cambio a una solicitud basada en la
estructura. La independencia de datos lógica es más difícil de lograr que la
independencia física de datos.
– Regla 10: independencia de la integridad, las limitaciones de la integridad se
deben especificar por separado de los programas de la aplicación y se almacenan en
la base de datos. Debe ser posible cambiar esas limitaciones sin afectar
innecesariamente las aplicaciones existentes.
– Regla 11: independencia de la distribución, la distribución de las porciones de
la base de datos a las varias localizaciones debe ser invisible a los usuarios de la base
de datos. Los usos existentes deben continuar funcionando con éxito:

 Cuando una versión distribuida del SGBD se introdujo por primera vez
 cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.

– Regla 12: la regla de la no subversión, si el sistema proporciona una interfaz


de bajo nivel de registro, a parte de una interfaz relacional, que esa interfaz de bajo
nivel no se pueda utilizar para subvertir el sistema, por ejemplo: sin pasar por
seguridad relacional o limitación de integridad. Esto es debido a que existen sistemas
anteriormente no relacionales que añadieron una interfaz relacional, pero con la
interfaz nativa existe la posibilidad de trabajar no relacionalmente.

Reglas de Identidad
Los conceptos básicos de integridad en el modelo relacional son el de llave primaria,
llave foránea, valores nulos y un par de reglas de integridad.
Una llave primaria es uno o un conjunto de atributos que permiten identificar a las n-
adas de manera única en cualquier momento.
Una llave foránea de una relación es un atributo que hace referencia a una llave
primaria de otra relación; esto da pie a que una relación pueda tener varias llaves
foráneas.
Un valor nulo es un valor que está fuera de la definición de cualquier dominio el cual
permite dejar el valor del atributo ``latente'', su uso es frecuente en las siguientes
situaciones:
i)Cuando se crea una n-ada y no se conocen todos los valores de cada uno de los
atributos.
ii)Cuando se agrega un atributo a una relación ya existente.
iii)Para no tomarse en cuenta al hacer cálculos numéricos.
Las dos reglas de integridad tienen que ver precisamente con los conceptos antes
mencionados y son:
Integridad de Relaciones.
Ningún atributo que forme parte de una llave primaria puede aceptar valores nulos.
Integridad Referencial.
Al tener una relación 9#9 con llave primaria 10#10 de dominio 11#11 y otra relación
1#1 con atributo 10#10 que no es llave primaria de 1#1, entonces cualquier valor en el
atributo 10#10 en 1#1 debe ser:
i)nulo, o
ii)un valor que esté en el atributo 10#10 de la llave primaria de una n-ada en la
relación 9#9
MODELOS DE ACCESO DE BASE DE DATOS

Acceso

Tiene

MENUS

TIPO_USUARIO
La tabla de usuarios es uno de los pilares mas importantes en los sistemas en los que
es requerido un modulo de usuarios, esta tabla de usuarios esta ligada al modulo de
usuarios, a las acciones de registro, login y aquellas otras tablas relacionadas.
Cuando se habla de modelado de base de datos, normalmente se pienza en
programas visuales como dia o mysql workbench, en mi caso prefiero trabajar con
codigo SQL.
1. Modelo simple
Bueno el modelo mas simple para la tabla de usuarios seria la siguiente:
En el modelo simple tenemos una tabla llamada “user”, podria llamarse usuario,
personas o lo que usteden gusten, es recomendable siempre usar nombres de tablas
y campos que se relacionen con lo que vamos a almacenar a excepcion de casos
especiales en los que se utilizan nombres indecifrables para proteger la base de
datos.
En el modelo simple podemos ver 3 campos:
• id: este es el identificador automatico incremental para diferenciar cada usuario,
es requerido que este campo tambien sea la llave primaria de la tabla.
• username: nombre del usuario, este es el nombre de acceso al usuario, en otros
casos se podria usar el email, tambien es valido una palabra, etc, el nmbre de
usuario debe ser unico, es decir no se debe repetir.
• password: contrase~a, el password tambien es una palabra o texto, y sirve para
proteger o autenticar el usuario, es recomendable que el password este
encriptada.
Bueno, con este modelo super simple ya podemos hacer un registro, login, etc.
Registro
Login
Se podria decir que el modelo simple de la tabla de usuario es funcional y valido, pero
normalmente en la vida real la tabla de usuarios tendra muchos campos mas, pero la
escencia del funcionamiento es la misma, es decir:
• Para hacer el registro se pueden agregar mas campos como: nombre, apellidos,
fecha de nacimiento, etc.
• Para el login solo se necesitan 2 campos: el username y password, en algunos
casos se puede sustituir el username por el email.
2. Modelo basico
Ahora veamos un modelo basico pero un poco mas completo que el modelo simple.
Podemos ver que este modelo cuenta con algunos campos extras, que nos sirven
para tener mas informacion del usuario.
• name: nombre, el nombre del usuario
• lastname: almacena el o los apellidos del usuario
• image: sirve para almacenar una imagen o foto.
• email: sustituye el username, aunque tambien se puede usar username.
• created_at: es un auxiliar para guardar y saber la fecha en la que se registra el
usuario.
El modelo basico cumple con algunos requerimientos extra y en algunos casos puede
ser suficiente.
3. Modelo Completo / Evilnapsis
Ahora veamos el modelo completo o modelo evilnapsis, no es que yo halla inventado
este modelo, mas bien es el modelo que me parece mucho mas funcional y lo utilizo
en proyectos privados y los proyectos de la tienda.
El modelo completo a diferencia del modelo basico tiene 2 campos de diferencia:
• status: sirve para almacenar y conocer un estado del usuario, algunos estados
recomendados podrian ser: inactivo, activo, bloqueado, etc. para mayor facilidad
se debe asociar estos estados a un numero entero y almacenar tal numero.
• kind: tipo, este campo normalmente lo utilizo para diferenciar entre tipos de
usuarios, por ejemplo: administrador, vendedor, medico, paciente, alumno,
maestro, etc. de la misma manera que para el status, se debe relacionar cada
tipo de usuario a un numero entero.
El modelo completo ayuda mas a crear un sistema mas variado, los status y kinds,
hacen que la tabla usuario se adapte mas a ciertos cambios.
A veces yo utilizo los campos status y kind a otras tablas, o tambien los principios, si
crees que tu sistema solo contara con 2 status y.o 2 kinds puedes usar valores
booleanos en vez de valores enteros.
Conclusion
El modelo de usuarios a veces puede ser dificil, dependiendo de los requerimientos,
pueden suceder casos simples y faciles como agregar campos de texto para datos del
usuario como direccion, telefono, email secundario, tambien pueden haber casos en
los que se requiera almacenar algun codigo de recuperacion o valores de
configuracion para el usuario.
Espero con estos modelos y consejos de bases de datos les ayuden a crear sus
propias tablas de usuarios de acuerdo a sus necesidades.
MODELO SIMPLE

MODELO BASICO

MODELO COMPLETO
REGISTRO

LOGIN

SCRIPTS DE SQL DEL LIBRO KORTH

sucursal(nombre_sucursal, ciudad_sucursal, activos)


cliente (nombre_cliente, calle_cliente, ciudad_cliente)
préstamo (número_préstamo, nombre_sucursal, importe)
prestatario (nombre_cliente, número_préstamo)
cuenta (número_cuenta, nombre_sucursal, saldo)
impositor (nombre_cliente, número_cuenta)
Esquema de la entidad bancaria.

create table cliente


(nombre_cliente char(20),
calle_cliente char(30),
ciudad_cliente char(30),
primary key (nombre_cliente))
create table sucursal
(nombre_sucursal char(15),
ciudad_sucursal char(30),
activos numeric(16,2),
primary key (nombre_sucursal))
create table cuenta
(número_cuenta char(10),
nombre_sucursal char(15),
saldo numeric(12,2),
primary key (número_cuenta))
create table impositor
(nombre_cliente char(20),
número_cuenta char(10),
primary key (nombre_cliente, número_cuenta))
Definición de datos en SQL para parte de la base de datos del banco.

conductor (número_carné, nombre, dirección)


coche (matrícula, modelo, año)
accidente (número_parte, fecha, lugar)
posee (número_carné, matrícula)
participó (número_carné, coche, número_parte, importe_daños)
Base de datos de seguros.

empleado (nombre_empleado, calle, ciudad)


trabaja (nombre_empleado, nombre_empresa, sueldo)
empresa (nombre_empresa, ciudad)
jefe (nombre_empleado, nombre_jefe)
Base de datos de empleados.

¿Qué es la Normalización?
La normalización de bases de datos es un proceso que consiste en designar y
aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-
relación al modelo relacional.
Las bases de datos relacionales se normalizan para:

 Evitar la redundancia de los datos.


 Disminuir problemas de actualización de los datos en las tablas.
 Proteger la integridad de datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una
tabla sea considerada como una relación tiene que cumplir con algunas restricciones:

 Cada tabla debe tener su nombre único.


 No puede haber dos filas iguales. No se permiten los duplicados.
 Todos los datos en una columna deben ser del mismo tipo.
Scripts para Tablas

Create database BANCO;


DROP DATABASE IF EXISTS BANCO;

CREATE TABLE CLIENTE (


NOMBRE_CLIENTE VARCHAR (25),
APELLIDO_CLIENTE VARCHAR(25),
CALLE_CLIENTE VARCHAR(30),
CIUDAD_CLIENTE VARCHAR(25)
PRIMARY KEY (NOMBRE_CLIENTE ),
);

SELECT * FROM CLIENTE

INSERT INTO CLIENTE VALUES ('ROBE', 'SALINAS','ALEMAN','MONTERREY');


INSERT INTO CLIENTE VALUES ('JESUS', 'PLATA','SAN AGUSTIN','SAN PEDRO');
INSERT INTO CLIENTE VALUES ('MIGUEL', 'MARTINEZ','PRIVADA
HACIENDAS','MONTERREY');
INSERT INTO CLIENTE VALUES ('SOFIA', 'RODRIGUEZ','PRIVADA
LOMAS','PESQUERIA');
INSERT INTO CLIENTE VALUES ('DANIEL', 'SALAS','FRESNILLO','MONTERREY');
INSERT INTO CLIENTE VALUES ('HECTOR', 'LOPEZ','ROSALES','ZUAZUA');

CREATE TABLE SUCURSAL (


NOMBRE_SUCURSAL VARCHAR (25),
CIUDAD_SUCURSAL VARCHAR(25),
ACTIVOS NUMERIC(10)
PRIMARY KEY (NOMBRE_SUCURSAL ),
);

SELECT *FROM SUCURSAL

INSERT INTO SUCURSAL VALUES ('AFIRME', 'MONTERREY','10');


INSERT INTO SUCURSAL VALUES ('BANAMEX', 'SAN PEDRO','5');
INSERT INTO SUCURSAL VALUES ('BANORTE', 'ZUAZUA','7');

CREATE TABLE CUENTA (


NUMERO_CUENTA NUMERIC(25),
NOMBRE_SUCURSAL VARCHAR(25),
SALDO NUMERIC(20)
PRIMARY KEY (NUMERO_CUENTA),
);
SELECT *FROM CUENTA

INSERT INTO CUENTA VALUES ('123456','BANAMEX','45000');


INSERT INTO CUENTA VALUES ('223344','AFIRME','13000');
INSERT INTO CUENTA VALUES ('336654','BANORTE','55600');

CREATE TABLE IMPOSITOR (


NOMBRE_CLIENTE VARCHAR (25),
NUMERO_CUENTA VARCHAR(25)
PRIMARY KEY (NOMBRE_CLIENTE,NUMERO_CUENTA),
);

SELECT *FROM IMPOSITOR

INSERT INTO IMPOSITOR VALUES ('JESUS','123456');


INSERT INTO IMPOSITOR VALUES ('MIGUEL','223344');
INSERT INTO IMPOSITOR VALUES ('HECTOR','336654');

CREATE TABLE PRESTAMO (


NUMERO_PRESTAMO NUMERIC (25),
NOMBRE_SUCURSAL VARCHAR(25),
IMPORTE NUMERIC(20)
PRIMARY KEY (NUMERO_PRESTAMO),
);

SELECT *FROM PRESTAMO

INSERT INTO PRESTAMO VALUES ('3904','AFIRME','6000');


INSERT INTO PRESTAMO VALUES ('3990','BANAMEX','3500');
INSERT INTO PRESTAMO VALUES ('3992','BANORTE','2000');

CREATE TABLE PRESTATARIO (


NOMBRE_CLIENTE VARCHAR(20),
NUMERO_PRESTAMO NUMERIC (25)
PRIMARY KEY (NOMBRE_CLIENTE,NUMERO_PRESTAMO),
);

SELECT *FROM PRESTATARIO

INSERT INTO PRESTATARIO VALUES ('MIGUEL','3904');


INSERT INTO PRESTATARIO VALUES ('JESUS','3990');
INSERT INTO PRESTATARIO VALUES ('HECTOR','3992');
Respaldo Backup “trabajar en cualquier pc que tenga sql”
Se crea un respaldo en SQL Server donde se podrar manejar y editar una base de
datos en cualquier computadora, claro creando primero el backup correspondiente de
la siguiente manera:
Se abrira el backup de tu base de datos, se tendra que escoger el tipo de respaldo
que ocupas ya sea full(Completo) o temporal, tambien se escogera donde realizaras el
backup o por que medio piensas trabajarlo en otra computadora

Ya sea que tu backup se guarde en DISK(disco duro)


O mediante un URL (pagina)

Finalmente dependiendo de cual metodo hayas elegido, ya sea el de disko se te


creara un archivo del backup que podras manejar en otra pc, si elegiste el metodo
URL la podras abrir en otra pc y se te rediccionara a tu backup

Вам также может понравиться