martes, 15 de diciembre de 2020

Del modelo ER al relacional

 Entidades => Tablas

Se conservan los atributos y la clave principal.

Claves candidatas, establecer restricción de unicidad.

-Atributos compuestos => un campo por atributo

-Atributos derivados => columnas calculadas

-Atributos multivaluados=> nueva tabla

-restricciones sobre los atributos => lenguaje lógico

Entidades débiles => Tablas


Conservan sus atributos y se añade la clave principal de la entidad fuerte de la que depende.

Si la relación es de identificación, la clave principal la forma algún atributo de la identidad débil y la clave principal de la entidad fuerte.

Si la relación es de existencia, tendrá su propia clave, pero se establecerá borrado y actualización en cascada con respecto la entidad fuerte.

Relaciones => Tablas

La tabla a la que da lugar tendrá como atributos las claves principales de las entidades que se conectan y los atributos de la relación

M:N La PK estará formada por las PK de las entidades que relaciona.        Dimensión temporal

1:N  La PK estará formada por la PK de la entidad que participa con cardinalidad N

1:1   La PK estará formada por una de las PK de las entidades que relaciona. La otra actuara como clave         candidata.

Reducción de Tablas

SI hay elementos repetidos que se puedan incluir en otras se me ten en estas para reducir el numero de tablas

Relaciones Unarias


Borrado: null
Modificación: cascada

persona( Codper, nombre,...    ,            codper-madre)


Borrado y modificación: cascada o not action

persona (Codper, nombre,... )
    madre ((Codper, Codper-madre)

Generalización

  • Crear una tabla por cada entidad que participa.
  • Crear una tabla por cada caso particular, eliminando la entidad de nivel superior. No frecuente.
  • Crear una sola relación.

Restricciones semánticas

  • Totalidad/Parcialidad:
    • Se controla la totalidad prohibiendo la inserción en el suprtipo directamente se hara cuando se inserte en los subtipos (disparadores).
    • La parcialidad no requiere disparadores.
  • Exclusividad/solapamiento
    • Se requiere un aserto (o trigger) que compruebe que si un ejemplar esta en un subtipo no puede estar en otro.





                    

CSS Atributos 2

 

Pseudo-clases

:link         enlaces no visitados
:visited    enlaces visitados
;hover      elementos seleccionados por el usuario sin activar
:active     elementos activados por el usuario
:focus      se aplica a un elemento que tiene el foco

Pseudo-elementos

:first-line       se aplica a la primera line de un texto.
:first-letter     se aplica a la primera letra de un texto.
:before           sirve para generar texto antes del contenido de un elemnto.
:after              sirve para generar texto antes del contenido de un elemento.

Herencia

Cuando se establece el valor de una propiedad de una propiedad CSS en un elemento sus elementos descendientes lo adquieren de forma automática.

Colisiones de estilos

Se puede evitar colisiones de estilo, el mecanismo simplificado que se suele aplicar es el siguiente:
  1. Cuanto más especifico sea un selector, mas importancia tiene la regla asociada.
  2. A igual especificidad, se considera la ultima regla indicada.

jueves, 10 de diciembre de 2020

CSS Atributos 1

Atributos

Para todos

Width        Anchura de elemento.
height        Altura de elemnto.
visibility    Visibilidad.

Para fuentes

color                 Color de texto.
font-size           Tamaño de la fuente.
font family        Familia de tipo de texto.
font-weight       Ancho de los caracteres.
font-style          Estilo de fuente.

Para parrafos

line-height                Alto de línea.
text-decoration         Decoración de texto.
text-aling                  Justificación de texto.
vertical-aling            Determina la alineación vertical.
text-indent                Sangrado o margen del texto.
text-transform          Transforman el texto.
letter.spacing            Pone espacio entre letras.
word-spacing           Pone espacio entre palabras.

Para fondos de un elemento

background-color                    Color de fondo
background-image                   Pone una imagen de fondo que se muestra detreas del contenido.
background-repeat                   Repite la imagen de fondo horizontal mente y vertical mente.
background-attachment           Determina si una imagen de fondo ha de moverse con el scroll.
background-position                Determina la posición del fondo.
background                              Propiedades del fondo.

Otros atributos

display                                Modo de mostrar la información de un bloque.
white-space                         Determina como se tratan los espacios en blanco.
list-style-type                      Especifica el tipo de marcador o viñeta de cada ítem de la lista.
list-stye-image                    Especifica la imagen que se mostrara como viñeta en cada ítem de la lisa.
list-style-position                Determina donde se posicionara la viñeta con respecto al ítem de la lista.
list-style                              Especifica de manera rápida todas o algunas de las propiedades anteriores.
cursor 

Unidades de medida

Las unidades de medida definen el tamaño de los elementos y sus márgenes. Se indican con un valor numérico entero o decimal seguido de una unidad de medida.
Existen de dos tipos:

Absolutas

in            pulgadas 2.54cm
cm          centímetros
mm        milimetros
pt           puntos                0,35cm aprox              172 pulgadas
pc           picas                  4,23 mm aprox           12 puntos

Relativas

em relativa respecto al tamaño de letra del elemento seleccionado.
ex relativa respecto a la altura de la letra x del elemento seleccionado.
px relativa a la resolución de pantalla

Porcentajes (es una etiqueta relativa)

Respecto a un valor inicial  hace un porcentaje.

Colores

Los colores se pueden indicar de 5 formas diferentes.

Palabras clave

aqua, black, blue, fuchsia etc...

Colores del sistema

RGB hexadecimal   p{ color: #1234A2;    }
RGB numérico        p{ color: reg(71, 25, 30);    }
RGB porcentual      p{ color: reg(71%, 25%, 30%);    }

Selectores

Son unas reglas de CSS que que se forman por un selector que define a quien se la aplicara la declaración que indica que hay que hacer.

Selector universal

selecciona a todos los elementos.

*{ margin: opx;}

Selector de etiqueta

sirve para seleccionar todos los elementos que coincidan con la etiqueta.

etiqueta{propiedad: valor;}

Selector descendiente

Sirve para los elementos m que son descendientes de E siendo la forma E M.

p a {propiedad: valor;} Se aplicara a los link en los párrafos únicamente.

descendiente continuado
Si no quisiesemos aplicar la selecccion a los hijos y si a partir de los nietos en adelante, lo combinariamos con el universal.

p * a {propiedad: valor;}

Selector hijo


Selector adyacente


Selector de atributos

Se usa para seleccionar elementos con un atributo de manera concreto.

[atributo]

Selector de clase

se aplica sobre el atributo class 

<p class= "ejem">texto</p>

p.grandote {propiedad: valor;}
.grandote   {propiedad: valor;}

Selector ID

Se aplica sobre un ID

#pequenia {font-size: 50px;}

<p id="pequenia">texto</p>



miércoles, 9 de diciembre de 2020

Modelo relacional 2

 Restricciones semánticas

  • Son definidas por el usuario
  • Son facilidades que el modelo ofrece a los diseñadores para que puedan reflejar en el esquema, lo mas fielmente posible, la semántica del mundo real.
  • Los tipos de restricciones semánticas permitidos en el MR(modelo relacional)
    • Clave Primaria (primary key)
      • No acepta valores nulos o repetidos
    • Unicidad (unique)
      • No necesita identificar nada pero ha de ser único
    • Obligatoriedad (not null)
    • Integridad Referencial (foreing kay)
      • Cuando un valor esta repetido en dos tablas se cambie en ambas
    • Verificación (check)
      • La comprobación para asegurarse que este entre x valores. Se puede hacer a nivel de columna
    • Aserción (create assertion)
      • Realiza la misma función que la anterior pero afecta a varias tablas
    • Disparador (trigger)

Clave primaria

Permite declarar un atributo o conjunto de atributos como clave primaria de una relación 
se debe distinguir entre restricción inherente de obligatoriedad y la restricción semántica

Unicidad

Los valores de un conjunto de atributos Permiten claves alternativa

Obligatoriedad

El conjunto de atributos no admite valores nulos

Restricciones semánticas: Foreing key

Integridad referencial

Esta compuesta por una relación R2 con un descriptor CA que hace referencia a un CC de  R1
CA y CC han de coincidir o ser nulos.

Condiciones

  • El descriptor CA es, por tanto, una clave ajena de la relación R2
  • No es obligatorio que R1!=R2
  • La clave puede ser la parte o la totalidad de la clave primaria de R2

Claves ajenas(restricciones)CA
  • No action: Rechaza la operación de borrado o modificación.
  • Cascade: Propagar la información de las tuplas de las tablas a la que hace referencia.
  • Set null: Poner un valor nulo en la clave ajena de la tabla a la que hace referencia.
  • Set default: Poner el valor por defecto en la clave ajena de la tabla a la que hace referencia.

Restricciones semánticas: Verificación

Check

Comprueba, en toda operación de actualización, si el predicado es cierto  o falso y en este ultimo caso rechaza la información.

Assertion

Actúa igual que el anterior pero puede afectar a varios elementos

Trigger

Restricción en la que el usuario pueda especificar la respuesta (acción) ante una  determinada acción

Valores nulos

  • Un valor nulo se especifica cuando desconozco un valor en una tabla.
    • Crean tuplas con valores desconocidos en ese momento.
    • Añadir un nuevo atributo a una relación existente.
    • Atributos inaplicables a cierta tuplas.

Las reglas Codd

  1. Representación de la información: Toda la información en la Base  de datos es representada de forma explícita y única a nivel lógico, por  medio de valores en columnas de filas de tablas. 
  2. Acceso garantizado: Todo dato (valor atómico) debe ser accesible  mediante una combinación de tabla, un valor de su clave y el nombre de  una columna.
  3. Tratamiento sistemático de valores nulos: El SGBD debe  soportar la representación y manipulación de información desconocida  y/o no aplicable, independientemente del tipo de dato. 
  4. Catálogo en línea (diccionario de datos) basado en el modelo  relacional. La descripción de la base de datos se debe representar en el  nivel lógico de la misma manera que los datos ordinarios, de forma que  los usuarios autorizados puedan consultarla con el mismo lenguaje con el  que consultan los datos. 
  5. Sublenguaje de datos completo: El SGBD debe soportar al menos  un lenguaje relacional: 
    • a) con sintaxis lineal. 
    • b) que pueda ser usado interactivamente o en programas (embebido).
    • c) con soporte para operaciones de: 
      •  definición de datos (p.e. declaración de vistas). 
      • manipulación de datos (p.e. recuperación y modificación de tuplas). 
      • restricciones de seguridad e integridad. 
      • gestión de transacciones. 
  6. Actualización de vistas: todas las vistas teóricamente actualizables  deben poder serlo en la práctica. 
  7. Inserción, modificación y borrado de tuplas de alto nivel: todas  las operaciones de manipulación de datos deben operar sobre conjuntos  de filas. 
  8. Independencia física de los datos: cambios en los métodos de  acceso físico o la forma de almacenamiento no deben afectar al acceso  lógico a los datos. 
  9. Independencia lógica de los datos: los programas de aplicación no  deben ser afectados por cambios en las tablas que preservan la integridad.
  10. Independencia de la integridad: Las restricciones de integridad  deben estar separadas de los programas, almacenadas en el catálogo de la  BD para ser editadas mediante un sublenguaje de datos. 
  11. Independencia de la distribución: Las aplicaciones no deben  verse afectadas al distribuir (dividir entre varias máquinas), o al cambiar la  distribución ya existente de la Base de Datos. 
  12. Regla de no subversión: Si el sistema posee un interfaz de bajo  nivel (p.e. mediante llamadas en C), éste no puede utilizarse para saltarse  las reglas de integridad y las restricciones expresadas por medio de un  lenguaje de más alto nivel. 


jueves, 3 de diciembre de 2020

Añadir un CSS a un HTML

 Hay distintas maneras de hacerlo.

Dentro del HTML

-Usando "style" en una etiqueta para modificar sus características.

        <etiqueta style="propiedad1: valor; propiedad2: valor; .....> Parrafo </p>

-Usando "style" dentro del <head>

        <head>
            ...
            <style type="text/css">
                etiqueta1 { propiedad1: valor; ...}
                etiqueta2 { propiedad1: valor; ...}
                etiqueta3 { propiedad1: valor; ...}
            </style>
        </head>

Inclusión de CSS en un documento

-Dentro de <head> añadir un link al css.

        <head>
            ...
            <link rel="stylesheet" type="text/css" href="css/estilos.css" />
        </head>

Características

  1. Si se introduce dentro de la etiqueta su alcance esta limitado de la misma.
  2. Si se introduce dentro de la cabecera del documento su alcance esta limitado al documento.
  3. Si se introduce una Hoja de estilo externa su alcance es de varios documentos dándoles homogeneidad. Por eso es la mas usada.

Uso de CSS

  • Permite cambiar estilos sin cambiar el código HTML.
  • Si se definen dos reglas para un mismo elemento una externa y otra interna se aplicara la interna.
  • Se ha de especificar el lenguaje del estilo por defecto.

miércoles, 2 de diciembre de 2020

CSS

 Es un leguaje que permite editar apariencia de los lenguajes de enmarcado como HTML.


La sintaxis básica del leguaje CSS sigue esta estructura

selector {propiedad1: valor; propiedad2: valor; ......}

El selector indica el elemento que se va a ver afectado por el estilo

El estilo son los cambios que se van a realizar entre paréntesis.


Los componentes del estilo CSS

  • La regla css
    • Es cada uno de los estilos que componen una hoja de estilos CSS.
    • Compuesta por un grupo de selectores un símbolo de apertura  ({) de otra denominada declaración con su respectivo valor y una llave de cierre (}).
  • Selector
    • Indica a que elemento va a afectar.
  • Declaración
    • especifica los estilos a aplicar. Y se compone de propiedad y valor.
      • Propiedad
        • La característica que se modifica.
      • Valor
        • Establece el nuevo valor de la característica.

martes, 1 de diciembre de 2020

Maquinas Virtuales

Son un software que simula el comportamiento de una maquina real. Es una computadora virtual dentro de la real.

Permite usar diferentes tipos de sistemas operativos y bases de datos

En nuestro caso vamos a usar ("Oracle VirtualBox"). Y una base de datos ("ServidorDebian10.5_BBDD_MariaDB")

Para poder acceder a ella usaremos la aplicaciones ("HeidySQL") y ("MySQLworkbench")

Como usar estas herramientas

Primero se inicia la maquina virtual y dentro de esta se inicia sesión y con la línea "ip a"
sacamos la id y la metemos en la aplicación con el usuario y contraseña que queramos usar

Gestores de base de datos

Conjunto de programas que permiten acceder a las BBDDs.

Interconecta:

  • Usuarios
  • Otras aplicaciones
  • Base de datos

Los usuarios Pueden

  • Crean bases de datos
  • Mantienen bases de datos
  • Analizan datos
    • consultas
    • creación de informes
  • Manipulan datos
    • ediciones
    • eliminaciones

Los DBMS se ocupan de

  • Bases de datos distribuidas
  • Bases de datos multiusuario
    • Mas normalización de datos
    • Mayor acceso a la información
    • Gestión compleja

Bases de datos

 Son una colección de datos ordenados mediante ficheros con registros o tablas de registros.

Se compone de:

  • SGBDR(Sistema Gestor de Base de Datos Relacional)
    • Basadas en el modelo de Entidad-Relación y en el calculo de Predicados de 1º orden.
      • Es un modelo relacional de datos.
        • Organiza la información en tuplas (secuencia de valores agrupados)
      • Tablas (o modelos)
        • Cada fila (o registro) de la tabla contiene los campos o atributos de una tupla de información
      • Clave primaria
        • Es una clave que identifica una fila de la tabla (dos filas no pueden tener una misma clave no se pueden repetir.
      • Relaciones y clave externa
        • Las relaciones asocian datos de dos tablas y los gestionan con claves externas
  • SQL(Structure Query Lenguage)
    • Lenguaje de definición, manipulación y control de datos en BBDDs relacionales

Como se organiza los archivos

  • Secuencial
    • Almacena los registros en el orden en el que apareció y solo puede acceder a ella pasando en orden por todos los archivos.
  • Indexado
    • Usa un índice con claves y permite acceder a los registros mediante claves que llevan a una dirección donde esta el archivo. Encuentra un registro sin pasar por todos.
  • Hasing
    • Permite lo mismo que el indexado pero elimina la necesidad del indice.

¿Que son las Bases de Datos?

Base de Datos

Una base de datos es un programa que permite almacenar datos ordenarlos y relacionarlos. También permite un acceso rápido a los datos.

Este acceso sencillo permite que se pueda producir la información sin dificultad al poder tener los datos para procesar accesibles.


Ficheros y archivos

Los ficheros son la parte física de una base de datos almacenan la información para su posterior procesamiento y recuperación.

Actualmente hay de dos:

  • De texto, no necesitan ningún programa para acceder a los datos.
  • Binarios, necesitan un programa para poder ver su interior.