Está en la página 1de 9

BASE DE DATOS

DIA 1

el cliente hace una request al servidor y el servidor hace


una consulta a la base de datos

DATOS
Información concreta sobre hechos, elementos, etc.
Que permite estudiarlos, analizarlos o conocerlos

BASE DE DATOS
Es un conjunto de datos pertenecientes a un mismo contexto y
almacenados sistemáticamente(ordenadamente) para su posterior
uso

DMBS (DATBASE MANAGEMENT SYSTEM) -> Sistema de gestión de


base de datos

 Es una aplicación que interactua con el usuario, otras


aplicaciones y la base de datos misma, de tal forma que
pueda definir, crear, borrar, modificar, consultar y
administrar bases de datos y datos en si
 Colección de programas que permiten al usuario acceder a
una Base de Datos, manipular data y hacer consultas.
Estos programas son los que van a hacer los cambios o
consultas a la base de datos, NO SE LOS HACE DE FORMA DIRECTA

SQL (Structured Query Language) se convierte en el lenguaje


estándar para hacer consultas a las Bases de Datos
Con SQL le vamos a dar las ordenes al gestor de base de datos
(DMBS)

MODELO ENTIDAD – RELACION


Entidad: Representa una cosa, objeto o conecpto del mundo
real con existencia independiente.
Las entidades van a ser los sustantivos

Atributos: Los atributos son las características que defienen


o identifican a una entidad
Van a ser los adjetivos

Conjunto de relaciones: Es una asociación entre varias


entidades
Cada entidad interviene en una relación con una determinada
cardinalidad

Cardinalidad:
1:N -> Uno a muchos
N:1 -> muchos a uno
N:M -> muchos a muchos

Modelo Relacional Normalizacion:


Nos permite organizar bien nuestros datos
Primera Forma de normalización -> Todos los atributos son
atomicos (cuando los elementos del dominio son simples e
individuales)
Y no hay grupos de repetición …………..

Primary Key: Es un atributo o conjunto de atributos que


identifica unívocamente a una fila de una tabla

Foreign Key: Es un atributo que identifica a una fila de otra


tabla
Bases de datos relacionales:
En estas bases de datos las tablas tienen que estar
normalizadas. Y antes de empezar a cargar datos, tenemos que
definir el modelo de datos de manera detallada

Ventajas de usar bases de datos SQL:


 La aplicación va a ser muy estable y difícilmente llegue
un dato no deseado a la BD. (el problema es que es poco
flexible)
 Estas bases de datos son transaccionales, las
operaciones que hagamos van a hacerse atómicamente, es
decir que jamás vamos a tener datos corruptos
 Es una tecnología muy estudiada, hace años que ya esta
estable

DIA 2

SQL => Structured Query Language


Es el lenguaje mas usado para hacer consultas a las bases de
datos
SQL es un lenguaje de consultas, tiene expresiones y
statements igual que JS. Esta compuesto por clausulas

STATEMENTS PARA MANIPULAR REGISTROS


SELECT: consultar información de las tablas
INSERT: agrega nueva información en las tablas
UPDATE: actualizar información de las tablas
DELETE: elimina información de las tablas
SQL TIPOS DE DATOS -> los tipos de datos están bien definidos
Ej: varchar = string          integer = numero
Mas ejemplos => http://codigoelectronica.com/blog/postgresql-
tipo-de-datos

CONSTRAINTS -> Reglas forzadas sobre un atributo


NOT NULL -> El atributo no puede ser nulo
UNIQUE -> No puede haber dos atributos iguales en una tabla
PRIMARY KEY -> Identifica unívocamente una fila en una tabla
FOREIGN KEY -> La key debería existir si o si en otra
tabla(básicamente hace referencia a una primary key que esta
en otra tabla)

INSERTAR FILAS EN UNA TABLA


INSERT INTO nombre_de_la_tabla (columna1, columna2,
columna3…)
VALUES (valor1, valor2, valor3…)
Ej:
INSERT INTO ciudades (nombre)
VALUES (‘Tucuman’) -> solo se pueden usar comillas simples

SELECT
Con select podemos recuperar filas de una tabla
SELECT nombre_de_la_columna FROM nombre_de_la_tabla

Ej:
SELECT * FROM personas    -> el * indica que devuelva todas
las                                                                                           
columnas

ORDER BY CLAUSE
SELECT * FROM ciudades ORDER BY nombre      -> por defecto
ordena en order alfabetico o de menor a mayor

WHERE CLAUSE (donde)


SELECT * FROM persona WHERE nombre = ‘Toni’
Recupera las filas donde el nombre es igual a Toni

GROUP BY ?
SUB-QUERYS ?

DIA 3

ORM => Object-Relational Mapping


Son librerías o frameworks

El ORM funciona como un traductor, esta entre el servidor y


la base de datos.
Servidor => lenguaje javascript
Base de datos => lenguaje sql
EL ORM QUE USAMOS ES SEQUELIZE
La mayoría de los métodos de sequelize son asíncronos por lo
que devuelven promesas

INSTALAR Y CONECTAR SEQUELIZE


Const {Sequelize} = require(‘sequelize’)

Conectar:
Const sequelize = new
Sequelize(‘postgres://user:pass@example.com:5432/dbname’)

MODEL
Definir model
Abstraccion que representa una tabla de nuestra base de datos
Básicamente es la forma de representar la creación de una
tabla en sequelize

Const User = sequelize.define(‘User’, {


Id: {
Type: DataType.INTEGER
primaryKey: true
}
})

POSTGRES CREA LAS COLUMNAS Y LAS PLURALIZA

Synchronization model
Definir el modelo arma el esqueleto, pero no hace lo cambios
en la base de datos, para esto se debe sincronizar los
modelos

Hay que envolver el server.listen con


Sequelize.sync({ force: true }).then(() => {
Server.listen…
})

Force: true => elimina la tabla y luego la vuelve a crear


Alter: true => aplica los cambios necesarios a la tabla
actual para que coincida con el modelo
*Vacio* => crea la tabla    si no existe o no hace nada si ya
existe

Como eliminar las columnas createdAt y updateAt que se crean


solas?
En el mismo lugar donde definimos los atributos(columnas)
después de los atributos agregamos un nuevo objeto y le
pasamos lo siguiente:
timestamps: false

INSTANCES
Representa un objeto con la estructura definida en el modelo
que va a mapearse con una fila de la tabla asociada

Const usuario = await User.create({ name: ‘Mariano’})


Finders
Const instancia = await model.findByPk(4)
Const instancia = await model.findOne({
Where: {name: ‘Goku’}
})
Const [instancia, created] = await model.findOrCreate({
Where: {name: ‘Goku‘},
Defaults: {
Gender: ‘M’
}})

findOrCreate busca si existe un registro según las


condiciones de busqueda y si no encuentra ningúno procede a
crear uno nuevo. Luego retorna la instancia creada o
encontrada y un booleano indicando cual de los dos caminos
tomo

CRUD (CREATE, READ, UPDATE, DELETE)

Create:

Read:
Update:

Delete:

También podría gustarte