1. TEMA 1
Sistema de referencia-> sistema internacional
Sistema de numeración -> decimal.
Sistema 60-> tiempo
Cualquier magnitud va ponderada
Sistema de numeración binario o digital (0 y 1)
XXXX=10⁴ Base del sistema elevado al número de dígitos usando
SISTEMA BINARIO
unidad mínima - bit ( vale o 0 o 1)
unidad de referencia - byte (8 bits) 2⁸=256 posibles números representados
2¹⁰= 1024
1 byte= 8 bits
1 kilobyte = 1024 bytes
1 megabyte = 1024 KB
1 gigabyte = 1024 MB
1 terabyte = 1024 GB
Cualquier característica de un sistema digital basado en sistema binario, van a estar
asociadas al sistema binario ( EJ: movil 128GB 64GB)
Diagrama de la arquitectura von Neumann (Procesador)
Registros: memoria en la que se puede almacenar
información. Ejecutan una serie de instrucciones y
las memorias las utiliza el procesador para cargar las
instrucciones de una manera rápida.
ALU: Encargada de realizar operaciones aritméticas
y lógicas.
Unidad de control: dirige todas las direcciones.
Memoria principal: No almacena la información de
manera permanente. Volátil. (RAM) Imprescindible para que el
procesador. Muy rápida
Sistemas de entrada/salida: son memorias mucho más lentas, más baratas y más grandes.
Almacenan información permanente.
Celda de memoria:
Palabra de memoria:
P.2. Estructura dinámica más eficiente
p4. Alfanuméricos. 1byte - 2⁸=256
2. Codigo ascii para representar los caracteres
-Enteros: simple precisión utiliza 2 bytes y doble precisión 4 bytes
-Reales: Positivos y negativos con signos. Simple precision 4 bytes. Doble precision 8 bytes
Misma cadena.
-Científicos: cálculos muy precisos. 4 bytes. Ej: 1,12E-8 = 1,12x10^-8
-Lógicos 1 Bit (v o f)
-Datos de tipo tiempo. Fecha y hora. dd(1b)/mm(1b)/aaaa(1b) - hh(1b):mm(1b):ss(1b)
-Arrays: guarda la direccion del primero, sabiendo el tamaño base (del primero). Colección
de datos por ser del mismo tipo.
Datos compuestos: item compuesto por varios datos simples dif tipos. Tipo de dato que creo
yo.
Nombre
Apellidos
Edad
Fecha nacimiento
Estructuras dinamicas: No se reserva el espacio a priori el decreciendo y creciendo,
reservando y liberando espacio en memoria.
Caracterizadas por:
-Utilizan punteros. Un puntero es una variable especial cuyo contenido es una dirección de
memoria.
-Un conjunto de funciones especiales llamadas funciones de asignación dinamica de
memoria me permiten reservar espacio, solicitar espacio y liberar espacio en la memoria.
Cada elemento de una estructura dinámica se le llama nodo. (campo de información (dato
que se guarda) y campo puntero(mantener la estructura)).
1. Pilas: Son una estructura en la que el orden en el que se añaden y se borran los
elementos está predeterminado. En concreto, responde a las siglas LIFO (el ultimo
que se añade, es el último que se borra) (Last input first output)
2. Cola: FIFO (Fist input first output). El sitio está restringido. El primero que se añade
es el primero que se elimina.
3. Listas. No tienen restricciones, no predeterminado en cuanto a donde se puede
añadir o borrar un elemento. Tres tipos dependiendo del nodo y la estructura
encadenada:
-Lista simplemente enlazada. Unidos por un puntero. Tienen el inconveniente que
solo recorren hacia delante.
-Lista doblemente enlazada. Cada nodo tiene dos punteros, uno que apunta al
anterior y otro al siguiente. Permiten el recorrido hacia delante y hacia atrás.
3. -Lista circular. Tiene un puntero a la cabecera y cada elemento apunta al siguiente,
excepto el último, que apunta a la cabeza. Permite recorrer la estructura de manera
circular.
4. Grafos: Estructuras dinámicas donde los nodos pueden estar unidos mediante
aristas a uno o muchos nodos de la colección, con la única condición de no puede
haber nodos sin estar unido a otro nodo. A su vez las aristas pueden tener solo
dirección (grafo no dirigido) o dirección y sentido determinado por un puntero (grafo
dirigido).
5. Árboles: Nodos unidos por una jerarquía padre hijo, en la que existe un nodo
especial; nodo raíz, que es el padre de todos. Restricción: Un nodo puede o no
puede tener hijos, pero solo puede tener un padre.
Profundidad del árbol es el numero de niveles que tiene el árbol.
Secuencia: desde la raíz a un nodo cualquiera.
Longitud: número de nodos del camino -1.
Sistemas de gestión de ficheros:
Fichero: conjunto de información relacionada tratada como una unidad d facilitar la
búsqueda de datos individuales
Registro: compuesto por registros que contienen información organizada en campos.
1 registro es una factura concreta, es un elemento individual.
Dos tipos de registro:
Registro lógico: tamaño en bytes que ocupan los campos o atributos que contiene.
Registro físico: La velocidad a la que el ordenador es capaz de leer o escribir en una
sola vez de E/S (entrada/salida)
Campo o atributo: Unidad mínima de procesamiento con significado propio.
Tipos de organización
Problema
Factor de blocaje: Es el conjunto de información identificable acerca de uno de los
elementos a los que se hace referencia en el fichero.
Eficiencia o rapidez que un ordenador maneja un determinado fichero.
Ejercicio ficheros.
Registro lgógico 228 bytes
Tamaño de 1M de registros
T= 228 bytes * 1M = 238000000 bytes = {228000000/1024*1024} = 217,44 Mb
B= 512 bytes/seg
a) Si la org del fichero es secuencial, ¿cuánto tarda el fichero?
Como la organización es secuencial tiene que ir leyendo todo el registro. El Fb= B/R me
va a dar el número entero de registros que es capaz de leer en un segundo
512bytes/228bytes= 2 registros por segundos
4. T/Fb= 1.000.000 registros/2 reg/segundo= 500.000 segundos= 5 horas y 19 horas
b) Si la organización fuera secuencial indexada
Clave numérica (4b) Puntero (4b)
Fbi ( factor blocaje indexada)= B / Ti = 512 bytes/s / 8 bytes / registro = 64 registros /
Segundo
TL= nºregistros / Fbi = 1.000.000 Registros / 64 registros / seg = 15625 = 4 horas 20
min aprox
Algoritmo directo: Se le asigna una dirección de memoria. No genera sinónimos
Direccionamiento asociado:
¿Diferencia entre algoritmia y sistemas de gestión de ficheros?
Responden a una serie de comandos que está relacionada con una organización o
tipo de ficheros concretos. Trabajan sobre ficheros. Pensados para mucha
información.
Diferencia entre estructura estática y dinámica.
Dato simple un tipo único y dato compuesto define el programador compuesto por
varios datos simples.
Precisión en datos numéricos representa el número de diferentes números que
puede representar y almacenar. Cuanta más memoria más valores.
Cómo se llama de manera genérica a un elemento de una estructura dinámica y que
tipo de dato es.
Nodo: Puntero y elemento de información. Es compuesto.
LIFO
Métodos de direccionamiento directo:
Directo: Clave es numérica y a cada clave se le asigna una dirección de
Asociado: Alfanumérica. Tabla donde esta un puntero donde esta almacenado el .
Inconvenientes:
5. Calculado: clave numérica. Pueden existir o no sinónimos.
Sinónimo informatico:
Principales problemas que presentan los sistemas de gestión ficheros.
Se repite mucha información enlazando dos objetos
Tema 2: Introducción a las BBDD
Definición SGBD: BD y SGBD:
Arquitectura ANSI/X3/SPARC:
- Vision externa
- Vision conceptual/lógico
- Vision fisico
Una base de datos es una colección de archivos relacionados que para un problema
del mundo real almacena:
- Elementos u objetos involucrados en el problema
- Propiedades, características o datos de estos objetos y el tipo de dato en el que
se almacenaran.
- Las relaciones o interrelaciones existentes entre los objetos.
- Restricciones condiciones que se tienen que cumplir y pueden afectar a
- Cardinalidad
- Un sistema gestor de datos es el conjunto de herramientas hardware, software y
personas que nos permite diseñar, manejar y mantener una base de datos
Podemos definir el proceso de creación de una BD en los siguientes pasos:
1. Análisis del problema: partimos de un universo del discurso
2. Elaborar el modelo conceptual diagrama entidad relación. Representación
conceptual de mi problema.
3. Modelo lógico SGBD depende del sistema gestor
4. Modelo físico SQL
Componentes de sistema gestor. Nombra y explica x. (Ampliar)
Lenguajes:
- Definición (DDL): Es el que nos permite definir la estructura de la Base de Datos.
- Manipulación (DML): Definir el esquema de los datos y manipulación de los
datos. Crea las vistas externas
- Control(DCL): Controla acceso y seguridad de los datos.
Diccionario de datos (datos de los datos): descripción física, lógica y externa de la
BD así como las reglas de correspondencia necesarias para el paso de un esquema
a otro.
Administrador de la base de datos: Es una persona o grupo de personas, lleva todo
el proceso, revisa análisis del problema, revisa el modelo lógico. Funciones: describir
6. BD, los campos, registros y las relaciones entre ellos. Define la estructura física de
almacenamiento y el método de acceso. Modifica el esquema y la
Monitor (gestor de la BD): garantizar la privacidad. Interactuar con el sistema
operativo. Es una parte software y se encarga de garantizar el uso y el acceso
correctos a la información y debe ser autorizada por un monitor, ya bien
satisfaciéndola o autorizandola.
Usuarios:
- Usuarios terminales: son aquellos que no tienen ni idea de los que son la BD.
Interactúa con la BD
- Usuarios técnicos: Con conocimientos informáticos. Desarrollan los programas
de aplicación. Profesionales informáticos que preparan procedimientos
(supervisado por el administrador de la BD)
- Usuarios especializados: usuario que utiliza BD como parte de un sistema más
complejo llamado sistema experto.
Utilizan el sistema experto analiza los datos y da unos posibles dictámenes.
Dependiendo de las posibilidades, da un dictamen final.
de lo que como una herramienta como un submódulo de sus sistemas
particulares.
(AMPLIAR)
Tipos de SGBD:
- Sistemas orientados a objetos:
- Sistemas NoSQL: Estas BD están basadas en las relacionales, no requieren que
los esquemas sean tan estrictos. MongoDb, Redis…
- Sistemas XML: Usan el formato XML
Indica todos los componentes del SGBD
-Leguaje de control.
-Diccionario de datos: son datos acerca de los datos que guardamos dentro de la
BD.
-Monitor: componente software procesa los ataques y peticiones que se le hagan
a la BD. Propoprcionando la información o lanzando un mensaje de error
-Administrados: se encargan de supervisar el proceso
-
Arquitectura ANSI:
Representa el estándar para la BD propuesto por la OSI. En ella se establece
tres visiones de los datos dentro de una base de datos:
-parte central: Visión lógica que se almacena la estructura del problema en base
a objetos, características de los objetos, tipos de datos, asociaciones existentes
y restricciones que pueden afectar a las asociaciones
Visión física guarda la información cuantos punteros, cuantos ficheros, etc.
Existen N visiones externas tantas como perfiles de usuarios trabajen con
esa base de datos. Cada perfil de usuario tiene una visión parcial que depende
del ámbito y que esta representada por los programas de aplicación que
manejan la BD.
Independencia lógica.
7. Características y funciones del SGBD
Definición de sistema gestor y BD
TEMA 3: MODELO DE DATOS
Son las herramientas que me permiten definir para un problema, estructura y las
ocurrencias o estancias que son los valores que toman los datos en un momento
determinado
Modelos de datos conceptuales.
Modelo lógico relacional (E/R)
Modelo físico. Es el que vamos a implementar en el ordenador. Utilizaremos el lenguaje
SQL en concreto el estándar 1992.
Definición de modelo de datos:
Estáticas (invariante con el tiempo) y dinámicas de un sistema
-Permitidos los objetos las propiedades de los objetos, los tipos d edatos y las asociaciones
existentes entre los objetos
-No permitidas inherentes y las semánticas.
Dinámica: nuevas ocurrencias
TEMA 4: EL MODELO E/R
·Entidad:
·Interrelación:
·Atributo
·Dominio
·Cardinalidad
Cardinalidad de cada una de las entidades
Cardinalidad de la interrelación
Entidades fuertes y débiles.
Fuertes: Existencia no depende de la existencia de ningún otro tipo de entidad en la
consideración del problema.
Representan a objetos que tienen significación propia dentro de mi problema
Débiles. Cuya existencia depende de la existencia de un tipo de entidad fuerte.
Debilidad por identificación: una entidad débil no puede ser identificada a no
ser que se identifique una entidad fuerte por cuya existencia existe la
debilidad. Atributos de la entidad fuerte que depende. En este caso, la
entidad débil hereda la clave primaria de la entidad fuerte.
Debilidad por existencia: cuando se pueda identificar (se pueda poner su
clave primaria)
Son (1,n) La entidad fuerte es la que
Cardinalidad mínima (1,n) y máxima
La mínima o es 0 o es 1, requiere al menos uno
Cardinalidad máxima 1 o n
8. Cantidad de la interrelación separada por dos puntos (:) en mayúscula y cogiendo los
máximos
Método de resolución de problemas:
1º Paso: A partir del enunciado del problema, el primer paso hay que leerlo varias veces
hasta identificar que objeto (entidades) hay en el problema.
2º Paso: Cualificación de las entidades:
- Determinar los atributos. Para cada objeto vamos a ver que atributos tiene, que
tipo de dato va a tomar el valor y la identificación principal de cada uno de ellos
3º Identificar las relaciones
- En este paso vamos a estudiar que entidad está relacionada con que entidad y
vamos a preparar el diagrama para que sea lo mas claro posible. En este
sentido, debemos evitar que las líneas se crucen, y que el diagrama sea lo mas
legible posible
4º Cualificar las relaciones
- En este paso nominamos las relaciones y estudiar las cardinalidades de estas.
Nota: Para facilitar el diseño, como ya hemos descrito los atributos de cada una
de las entidades, en el diagrama solo vamos a poner las claves principales y
vamos a reflejar el resto de los atributos de la entidad con un atributo
(od_entidad).
No dos objetos que tengan el mismo valor para ese atributo (clave principal) Círculo
sombreado
TEMA 5 MODELO RELACIONAL
Tipos de relaciones entre tablas.
a) 1:1
b) 1:N
-Sin debilidad
-Con debilidad
c) N:M
ejercicios
Int reflexivas: tipo de interrelación especial de una entidad consigo misma, pero jugando dos
papeles distintos.
Modelar en una empresa los departamentos y los trabajadores de ella.
Suponiendo:
- Los departamentos se identifican por un código único y que los trabajadores
están asignados a un único departamento.
- Dentro de cada departamento, existe un trabajador que es el jefe de los demás
Una academia de formación realiza una serie de cursos de los que se quiere guardar
información.
Existen cursos que tienen como requisitos para poder realizarlos el haber realizado
previamente antes uno o varios cursos.
Hay otros que no requieren haber realizado otros cursos previos.
9. A su vez un curso puede o no ser prerequisito para la realización de otros cursos
Una interrelación exclusiva es aquella que tiene lugar entre una entidad con al menos otras
dos entidades que no son independientes entre sí. Se representan con un arco que corta las
dos interrelaciones que no son independientes.
Int. N arias.
El modelo ee/r permite relaciones entre más de dos entidades
Tres= ternarios
Cuatro= cuaternarios
N= narias
Tres cardinalidades
Transformación de este tipo de interrelación es similar a las N:N es decir.
1. Se crea una relación por cada entidad que participa en la interrelación
2. Se crea una nueva relación que representa a la interrelación y que estará formada
por:
- Las claves primarias de las entidades que intervienen en la interrelación y que a
su vez serán FK
- Los atributos de interrelación si los hubiera o hubiese
Tenemos que distinguir entre:
A. Formaran parte de la PK de esta nueva interrelación las PK de las entidades
que participen con la cardinalidad máxima N. Si alguna lo hace con
cardinalidad máxima 1 sera FK pero no participará dentro de la Primary Key.
Interrelaciones jerárguicas (siempre representada por triángulo) Interrelaciones 1 a 1 y es
por eso que se llamen IS_A.
Representan que un determinado tipo de entidad atendiendo a un atributo de clasificación
puede dividirse en N subtipos.
Herencia: Las interrelaciones jerárguicas expresa también mecanismos de herencia, por lo
que los atributos del supertipo son comunes a todos los subtipos.
A su vez se pueden dividir en 4 grupos distintos atendiendo a dos criterios.
- Totalidad. Es total cuando los subtipos considerados son todos los que existen
en el mundo real.
- Parcialidad. Cuando a parte de los subtipos considerados existen más en el
mundo real pero no me interesan para mi problema.
- Exclusividad. Mediante un arco que corta hasta los diferentes subtipos
- Inclusividad. Sin arco.
10. Total exclusiva
Total inclusiva
Parcial exclusiva
Parcial inclusiva
Interrelación exclusiva
No por ambos a la vez .
Para la transformación de este tipo de relaciones aplicamos la regla general dependiendo
de la cardinalidad de la relación.
Deberemos distinguir dos posibilidades:
1. Si la cardinalidad es 1:N
El check
Necesitaríamos una restricción semántica programable que solemos llamar disparador
(trigger). Una vez que yo he creado mi BD creo un programa que se dispara. Se
dispara cuando metes algo que no tiene sentido en un valor
Arquitectura visión lógico
Visión física
Clave candidata:
Clave primaria o principal la otra clave alterna
Restricciones inherentes del Modelo Relacional
- No existen tuplas repetidas (obligatoriedad de clave primaria). La relación se ha
definido como un conjunto de tuplas, y en matemáticas los conjuntos por definición
no incluyen elementos repetidos.
- El orden de las tuplas y el de los atributos no es relevante. (filas y columnas)
- Cada atributo de cada tupla solo puede tomar un único valor sobre el dominio sobre
el que está definido.
- Ningún atributo que forme parte de la clave primaria de una relación puede tomar un
valor nulo (regla de integridad de entidad).
Restricciones semánticas
1. Restricción de Clave Primaria (PRIMARY KEY), permite declarar un atributo o
conjunto de atributos como la clave primaria de una relación.
2. Restricción de Unicidad (UNIQUE), permite que una clave alternativa o secundaria
pueda tomar valores únicos para las tuplas de una relación, ya que no se pueden
repetir (como si de una clave primaria se tratara). Se entiende que la clave primaria
siempre tiene esta restricción.
11. 3. Restricción de Obligatoriedad (NOT NULL), permite declarar si uno o varios
atributos de una relación debe tomar siempre un valor.
4. Restricción de Integridad Referencial o de Clave Foránea (FOREIGN KEY), se
utiliza para que mediante claves foráneas podamos enlazar relaciones de una base
de datos. La integridad referencial nos indica que, si una relación tiene una clave
foránea que referencia a otra relación, cada valor de la clave foránea o ajena tiene
que ser igual a un valor de la clave principal de la relación a la que referencia, o
bien, ser completamente nulo. Los atributos que son clave foránea en una relación
no necesitan tener los mismos nombres que los atributos de la clave primaria con la
cual ellos se corresponden. El diseñador de la base de datos deberá poder
especificar qué operaciones han de rechazarse y cuáles han de aceptarse, y en este
caso, qué operaciones de compensación hay que realizar para mantener la
integridad de la base de datos. Para ello el diseñador debe plantearse tres preguntas
por cada clave foránea:
1. ¿Puede aceptar nulos esa clave foránea? Por ejemplo, (tomando como
referencia las relaciones PROVEEDORES, ARTICULOS) ¿tiene sentido la
existencia de un articulo cuyo proveedor se desconoce? Evidentemente, no.
En algunos casos esta respuesta podría ser distinta, por ejemplo, en una
base de datos con las relaciones EMPLEADOS y DEPARTAMENTOS,
podría existir un empleado no asignado de momento a un departamento.
2. ¿Qué deberá suceder si se intenta eliminar una tupla referenciada por
una clave foránea? Por ejemplo, si se intenta eliminar un proveedor del cual
existe algún artículo. En general, para estos casos existen por lo menos tres
posibilidades:
Restringir(NO ACTION O RESTRICT): La operación de eliminación
se restringe sólo al caso en el que no existe alguna tupla con clave
foránea que la referencie, rechazándose en caso contrario. En
nuestro ejemplo, un proveedor podrá ser borrado, si y sólo si, por
ahora, no suministra artículos.
Propagar en cascada (CASCADE): La operación de borrado se
propaga en cascada eliminando también todas las tuplas cuya clave
foránea la referencien. En nuestro ejemplo, se eliminaría el proveedor
y todas las tuplas de artículos suministrados por él.
Anular (SET NULL): Se asignan nulos en la clave foránea de todas
las tuplas que la referencien y se elimina la tupla referenciada. En
nuestro ejemplo, no tiene mucho sentido, pero consistiría en asignar
nulos al NIF-PROV de todas las tuplas de articulos pertenecientes al
proveedor que queremos borrar, y posteriormente borrar al proveedor.
- NO ACTION: rechazar la operación de borrado o modificación.
-CASCADE: propagar la modificación (o borrado) de las tuplas de la tabla que
referencia. (OUC, ODC)
-SET NULL: poner valor nulo en la clave ajena de la tabla que referencia.
-SET DEFAULT: poner un valor por defecto en la clave ajena de la tabla que
referencia. Los modos borrar y modificar son independientes, es decir, cada uno
tomará una de las cuatro opciones por separado.
3. ¿Qué deberá suceder si hay un intento de modificar la clave primaria de
una tupla referenciada por una clave foránea? Por ejemplo, si se intenta
modificar la clave de un proveedor del cual existe algún artículo. Se actua
con las mismas tres posibilidades que en el caso anterior:
12. Restringir
Propagar en cascada.
Anular
Restricciones de rechado.
5. Restricción de Valor por Defecto (DEFAULT), permite que cuando se inserte una
tupla o registro en una tabla, para aquellos atributos para los cuales no se indique un
valor exacto se les asigne un valor por defecto.
6. Restricción de Verificación o Chequeo (CHECK), en algunos casos puede ocurrir
que sea necesario especificar una condición que deben cumplir los valores de
determinados atributos de una relación de la BD, aparte de las restricciones vistas
anteriormente.
7. Aserciones (ASSERTION): Esta restricción generaliza a la anterior, lo forman las
aserciones en las que la condición se establece sobre elementos de distintas
relaciones (por ello debe tener un nombre que la identifique).
8. Disparadores (TRIGGERS), a veces puede interesar espeficar una acción distinta
del rechazo cuando no se cumple una determinada restricción semántica. En este
caso, se recurre al uso de disparadores o triggers que nos permiten además de
indicar una condición, especificar la acción que queremos que se lleve a cabo si la
condición se hace verdadera. Los disparadores pueden interpretarse como reglas
del tipo evento-condición-acción (ECA) que pueden interpretarse como reglas que
especifican que cuando se produce un evento, si se cumple una condición, entonces
se realiza una determinada acción.
ID: La hereda
EX:
TEMA 6
Dimensión temporánea: Llamamos así a el hecho de que un atributo de interrelación
represente un intervalo de tiempo o una fecha concrete indicando que la indeterminación
puede repetirse en intervalos distintos
1. Añadir a la PK el dato de tipo tiempo.
2. Utilizar el dato de tipo tiempo siendo NN
Interrelaciones relexivas
Estas son aquellas que tienen lugar entre una entidad y si misma, pero jugando dos papeles
distintos
1. Se creará una relación que representa a la entidad
2. Se creará una relación que representa a la interrelación. Estará formada por:
- La clave primaria jugando uno de los papeles
- La clave primaria jugando otro papel
- Los atributos de interrelación si los hubiera o hubiese.
13. Si la cardinalidad es 1:N, entonces la clave primaria de esta nueva relación será el papel de
N y el papel de uno será FK.
Si la cardinalidad es N:N entonces la PK será la unión de los dos papeles y además ambas
serán FK independientes.
Total exclusiva
En cualquiera de los casos, la clave primaria de ambas entidades va a ser la misma
Interrelación 1:1
a) (1,1) (0,1) Ó (0 o 1,1) propagar la clave primaria es a su vez KF.
b) Si ambas participan con 0,1 o si existen atributos de interrelación.
c)
Total inclusiva
Obtener el modelo lógico aplicando el modelo de eliminación de los subtipos para eliminar la
jerarquía del ejercicio carreteras.
La aplicación de uno u otro método va a depender del problema. Habrá casos en los
que pueda aplicar cualquier método y habrá otros en los que no.
Lo que si debemos evitar son los triggers (disparadores).