SlideShare una empresa de Scribd logo
1 de 22
INSTITUTO
CRISTO DEL
PICACHO
INTRODUCCION A FUNDAMENTOS DE LA PROGRAMACION
TENER DATOS NO ES UN PROBLEMA EL PROBLEMA ES LO QUE VIENE DESPUÉS PERO AL 6 PROBLEMAS POTENCIALES.
TAMAÑO: LO QUE COMIENZA SIENDO PEQUEÑOS DATOS PUEDE CONVERTIRSE A GRANDES DATOS
FACILIDAD DE ACTUALIZACIÓN: SI BARIAS PERSONAS ESTÁN TRABAJANDO EN LO MISMO PUEDE SOBRESCRIBIR LOS CAMBIOS
PRECISIÓN: ALGUNOS ARCHIVOS CRECEN Y CRECEN Y ESO HACE QUE NO SEAN 100% FIABLES
SEGURIDAD: PORQUE HAY DATOS CONFIDENCIALES Y SENSIBLES QUE NO DEBE VERLOS CUALQUIER PERSONA
REDUNDANCIA: PUEDE PRODUCIR CONFLICTOS SI NO TENEMOS LAS PRECAUCIONES DEBIDAS YA QUE TANTAS COPIAS NO SON
BUENAS
IMPORTANCIA DE LOS DATOS: SI PASA UN ACCIDENTÉ PUEDES PERDER DATOS TIEMPO ETC.,
ESTAS SON LAS RAZONES POR LAS QUE P UNA BASE DE PUEDAS NECESITAR UNA BASE DE DATOS
UNA BASE DE DATOS NO SOLO ES PARA PONER LOS DATOS SI NO PARA PERMITIRLES CRECER QUE OTROS PUEDAN
MODIFICARLOS QUE LOS DATOS SEAN EXACTOS Y CONSISTENTES SABER QUIÉN PUEDE MODIFICARLOS LEERLOS REVISARLOS
ETC.
SISTEMA DE GESTION DE UNA BASE DE DATOS
HAY QUE CONOCER LA DIFERENCIA ENTRE SISTEMAS DE GESTIÓN DE BASES DE DATOS Y BASES DE DATOS, CUANDO HABLAS
CON UN PROGRAMADOR MUCHOS DE ELLOS TE DIRÁN QUE SU BASE DE DATOS ES:
ORACLE
SQL SERVER
MY SQL
POSTGRESQL
MONGO DB
CUALQUIER OTRA
PERO ESTAS NO SON BASES DE DATOS SON SISTEMAS DE GESTION DE BASE DE DATOS. A MENUDO
ABREVIADAS COMO DE DATA DEIS Y SISTEMA, LO QUE QUEREMOS INSTALAR ES UN SOFTWARE DBMS
QUE NOS PERMITA GESTIONAR BASES DE DATOS PODRÍA SER PORTANDO UN SISTEMA DE GESTIÓN DE
ESCRITORIOS TALES COMO POR EJEMPLO DESDE AXES EVENTOS ASTA BASE DE DATOS MUCHO MÁS
GRANDES COMO ORACLE O LOS INSTALARÍA SOBRE UN ORDENADOR PERSONAL SINO UN ORDENADOR
INDEPENDIENTE
UNA BASE DE DATOS PORTANDO LAS REGLAS QUE RIGE SOBRE ESOS DATOS EL SISTEMA PORTANDO EN
GESTIÓN DE DATOS EL MYSQL EL PROGRAMA O CONJUNTO DE PROGRAMA RODEAN Y GESTIONAN SU
PROPIA BASE DE DATOS PARA ASEGURARSE QUE SE APLICAN LAS REGLAS Y UN GESTIÓN DE BASE DE
DATOS PUEDE MANEJAR MUCHAS MÁS EN SU INTERIOR CADA UNO Y SEPARADA DE LA OTRA REGLAS
DIFERENTES CON DATOS DIFERENTES CON MEDIDAS DE SEGURIDAD DIFERENTES EN UN DIAGRAMA
GENERALMENTE VEREMOS:
LAS BASES DE DATOS SON REPRESENTADAS COMO CILINDRÓ EN UN MUNDO PERFECTO PODRÍAMOS
IMAGINAR QUE UNA EMPRESA SOLO EXISTIRÍA UNA BASE DE DATOS CONTENDRÍA TODOS Y CADA UNO DE
LOS TROZOS O ELEMENTOS DE INFORMACIÓN, IMPORTANTE PARA ESA EMPRESA PERO SIN EMBARGO ES
UNA PRÁCTICA MUY COMÚN AL HECHO DE TENER BARIAS BASES DE DATOS POR EJEMPLO LA BASE DE
DATOS QUE SE DÉ LA INFORMACIÓN DEL CLIENTE PODRÍA SER INDEPENDIENTE DE LA BASE DE DATOS
QUE SE OCUPA DE INFORMACIÓN DE RECURSOS HUMANOS POR TANTO EN MUCHAS EMPRESAS NO SOLO
QUIEREN VARIAR LAS BASES DE DATOS ES LO QUE INCLUSO PUEDE OCURRIR DIFERENTES SISTEMAS DE
GESTIÓN DE BASE DE DATOS TALES COMO SICO SERVER ORACLE O DIVIRTIÓ.
AVECE ES SIMPLEMENTE O ESTAMOS USANDO UN SISTEMA ES MEJOR QUE OTRA COSA Y OTRO SISTEMA
ES MEJOR QUE OTRA O ABECÉS SIMPLEMENTE PORQUE LA EMPRESA Y JUNTO CON LA ADQUISICIÓN
VENIA OTRA BASE DE DATOS PERO A PESAR DE QUE EXISTEN DIFERENCIA EN SISTEMAS DE GESTIÓN
DIFERENTES NO NECESITAMOS HINCAPIÉ EN CADA UNO DE ELLOS INDEPENDIENTEMENTE PORQUE MUY
COMÚNMENTE NOS VAMOS A REFERIR A CADA UNO DE ELLOS COMO SISTEMAS RELACIONALES: ORACLE,
SQL SERVER, DB2, MYSQL, POSTGRESQL, SQLITE, MS ACCESS DE GESTIÓN DE BASES DE DATOS O DRB
O MS BASES DE DATOS
TAMBIÉN EXISTEN OTRAS TALES COMO DBMS JERARQUICOS, DBMS DE RED, DBMS ORIENTADOS A
OBJETOS O MÁS RECIENTEMENTE CAEN DENTRO DE LA CATEGORÍA ORIGINALMENTE SE DECÍA QUE ESTOS
SISTEMAS MÁS BASADOS EN DB2 ESE CUELES SISTEMAS ALTERNATIVOS DB2 ESECUELES O SISTEMAS
ALTERNATIVOS O DESDE HACE AÑOS SE CONOCEN COMO DB2 OLÍ SIQUES ES DECIR SISTEMAS NO VAMOS
A ENTRAR EN DETALLES PORQUE NO TENEMOS UNA BASE DE DISTINCIÓN COMO PARA ENTRAR A ESE
NIVEL DE DISTINCIÓN NOS VAMOS A CENTRAR PRIMERO EN COMPRENDER LOS SISTEMAS DE GESTIÓN DE
BASES DE DATOS RELACIONALES POR UN PAR DE RAZONES:
ES UN SISTEMA MÁS COMÚN Y MÁS UTILIZADO DE TODOS COMO AQUELLOS QUE PUEDAS EN UN MOMENTO
DADO VER O TODOS AQUELLOS QUE PUEDAS VER O PUEDAS TRABAJAR.
LOS MISMOS PRINCIPIOS SON UTILIZABLES PARA TODOS ELLOS.
SE CONOCE LOS SQL NO TE VA A HACER DEMASIADO DIFÍCIL SALTAR A OTROS TIPOS DE BASE DE
DATOS COMO POR EJEMPLO LAS BASES DE DATOS SQL O MYSQL VISUALIZAR POR TANTO CUALES SON
LAS CARACTERÍSTICAS DE LOS SISTEMAS RELACIONALES DE GESTIÓN DE BASES DE DATOS
FUNDAMENTOS DE BASE DE DATOS
CARACTERÍSTICAS DE LAS BASES DE DATOS RELACIONALES
UNA BASE DE DATOS SE CONSTITUYE UNA O MÁS GENERALMENTE MÁS TABLAS
TABLA: BLOQUE DE CONSTRUCCIÓN MÁS BÁSICO Y MÁS FUNDAMENTAL DE UNA BASE DE DATOS UNA BASE
DE DATOS EN TABLAS ES SOLO UNA CASCARA BACÍA CARENTE DE SIGNIFICADO YA QUE EN TAL CASO
NO SOLO NO HABÍA DADO DATOS EN LA MISMA NO ABRÍAN EN NINGÚN LUGAR PARA LOS DATOS AL
FINAL PORQUE TODOS LOS DATOS AL FINALMENTE DEBE DE ESTAR EN TABLAS Y CADA TABLA SE
DESCRIBE REPITIENDO UNA LISTA FORMALIZADAS DE DATOS VISUALMENTE A MENUDO SE REPRESENTAN
COMO UNA HOJA DE CÁLCULO.
NUESTRAS TABLAS SE COMPONEN DE COLUMNAS Y DE FILAS DE FILAS DE IZQUIERDA A DERECHA Y DE COLUMNAS UN POCO
COMO LAS COLUMNAS QUE SOSTIENEN UN EDIFICIO Y SI TIENES VARIAS TABLAS DENTRO DE LA BASE DE DATOS, CADA
TABLA DIFERENTE CONTIENEN INFORMACIÓN PERO REPITE SIEMPRE TENIENDO FILAS Y COLUMNAS AUNQUE TENGAN
DIFERENTES NÚMEROS DE FILA Y DIFERENTE NÚMERO DE COLUMNAS FINALMENTE SIEMPRE SON LO MISMO DENTRO DE CADA
UNA VAMOS A ENCONTRAR FILAS Y VAMOS A ENCONTRAR COLUMNAS TAMBIÉN DENTRO DE ELLAS LAS COLUMNAS.
DENTRO DE CADA UNA FILA VAMOS A ENCONTRAR DENTRO DE ELLAS COLUMNAS, CADA COLUMNA POR TANTO DESCRIBE UNA
PIEZA DE DATOS LAS TITULAREMOS COMO NOMBRE, APELLIDOS, FECHA DE CONTRATO, Y MUY IMPORTANTE NO SOLO PUEDE
TENER UN NOMBRE SINO TAMBIÉN TIENE UNA DESCRIPCIÓN DEL TIPO DE DATOS QUE VA A CONTENER ESTOS CON NOMBRE DE
FECHAS, O NÚMEROS TODA FILA DEBE DE TENER LA MISMA ESTRUCTURA CADA FILA DEBE DE TENER EL MISMO FORMATO NO
ESTA PERMITIDO DESVIARSE DE LA ESTRUCTURA QUE NOS DAN LAS COLUMNAS POR TANTO CADA FILA ES UN CLIENTE Y
CADA COLUMNA DESCRIBE UNA PARTE MUY ESPECÍFICA ACERCA DE LOS DATOS DE ES CLIENTE.
CADA TABLA DEFINE QUE COLUMNAS SON Y QUE DEFINICIÓN TIENEN, IMPONEN NORMAS SOBRE LOS DATOS Y UNA VEZ QUE
DESCUIDAMOS LAS REGLAS DEL TEMA DE GESTIÓN DE DATOS NO NOS VA A DEJAR ESCAPAR DE ELLAS SI DIGO POR
ADELANTADO LA COLUMNA LLAMADA POR EJEMPLO FECHA, DEBE DE CONTENER Y DEBE DE PONER EN UNA FILA Y
SIMPLEMENTE UN TEXTO QUE NUMERO VA A PERMITIR SI DIGO QUE DEBE DE CONTENER UN NÚMERO Y DEBE DE CONTENER UN
VALOR NO PUEDO INTRODUCIR TAMPOCO UN TEXTO ASÍ QUE AL FINAL Y AL TANTO TENEMOS TABLAS QUE CONTIENEN DATOS
Y QUE CONTIENEN COLUMNAS, NO SUENA MAL DE HECHO EN ABSOLUTO NADA MALO PERO DEBES DARTE CUENTA DE QUE NO
PUEDES PENSAR EN ESTAS COSAS DE LA MISMA MANERA Y EL MISMO TIEMPO PORQUE TODAS TIENEN UN ORDEN PRIMERO
DEBES DE DEFINIR TABLAS, UNA BES QUE HAYAS DEFINIDO TABLAS DEFINIDOS COLUMNAS Y UNA VES QUE AYAS DEFINIDO
COLUMNAS SOLO CUANDO HAYAS DEFINIDO PRIMERO UNA TABLA PRIMERO LA COLUMNA TENDRÁN LAS FILAS Y UNA VES QUE
AYAS DEFINIDO COLUMNAS DEFINIDO COLUMNAS Y LUEGO LAS FILAS Y UNA VES QUE AYAS DEFINIDO COLUMNAS Y
ANTERIORMENTE TABLAS ENTONCES YA EL USO DEL DIA A DIA TRABAJARAS CON FILA AGREGANDO NUEVAS FILAS DE DATOS
ACTUALIZANDO FILAS, ELIMINANDO LAS FILAS EXISTENTES UNO DE LOS PRIMEROS REQUISITOS QUE TE BAS A ENCONTRAR
ES LA CAPACIDAD DE TENER ACCESO ESPECIFICO A UNA FILA DETERMINADA INCONFUNDIBLE DE UNA TABLA POR EJEMPLO:
UN CLIENTE SI ESTUVIÉRAMOS TRABAJANDO CON ESO LA CONCRETA PARA ESOS NECESITAMOS UN CONCEPTO QUE VAMOS A
PRESENTAR CONCEPTO DE LA CLAVE.
EXPLORANDO VALORES ÚNICOS Y CLAVES PRIMARIAS EN BASE DE DATOS
CASI TODAS LAS TABLAS DE UNA BASE DE DATOS REQUERIRÁN DE UNA CLAVE LA CLAVE ES UNA MANERA DE IDENTIFICAR
UNA SOLA FILA EN PARTICULAR SE CREAN TÍPICAMENTE UNA COLUMNA Y TENDRÁ UN VALOR ÚNICO GARANTIZADO PARA CADA
UNA DE LAS FILAS QUE PODEMOS HACER EN CUALQUIER SISTEMA EN BASE DE DATOS.
UNA TABLA CONTIENE UNA COLUMNA CON VALOR ÚNICO Y UNA COLUMNA CON VALOR NO ÚNICO
VALOR ÚNICO: SIGNIFICA QUE SI TIENE UN MILLÓN DE CIFRAS DENTRO DE LA COLUMNA NO PODRÍA HABER REPETICIONES
POR EJEMPLO: NO PODRÍA INTRODUCIR DOS VECES EL NÚMERO 153 EN SU LUGAR TENDRÍA QUE INTRODUCIR OTRO VALOR
EN CAMBIO LA COLUMNA DE VALORES.
VALOR NO ÚNICO: PUEDE CONTENER TANTO VALORES COMO SEA NECESARIO INCLUSO NO HAY NINGÚN PROBLEMA EN TENER
VALORES REPETIDOS
DEFINIENDO RELACIONES ENTRE TABLAS
DESDE LUEGO CUALQUIER BASE DE DATOS COMIENZA CON LA DEFINICIÓN DE LAS TABLAS PERO LA CAPACIDAD DE AGREGAR
DE BIENES LA GRAN PARTE DE DATOS ESTÁN CONECTADOS DE ALGO NATURAL
EJEMPLO: TENGO UNA TABLA DE CLIENTES, Y UNA TABLA DE PERIODO, UNA TABLA DE PRODUCTO REALMENTE ESTAS TABLAS
ESTÁN VINCULADAS YA QUE FINALMENTE CUANDO UN CLIENTE HAGA UN PEDIDO DE PRODUCTOS, UN PEDIDO CON QUE TIENE
UN CLIENTE SUS PEDIDOS Y LOS PRODUCTOS QUE ESTÁN INCLUIDOS Y LOS PRODUCTOS GENERALMENTE BAN A ACABAR
DENTRO DE LA TABLA DE PEDIDOS
EN UN DIAGRAMA DE BASES DE DATOS ESTO PODRÍA PASARSE DE VARIAS MANERAS DIFERENTES POR EJEMPLO: CLIENTE Y
PEDIDO TENDRÍAMOS UNA RELACIÓN DE UNO A MUCHOS MUCHAS PERSONAS USAN ESTE SÍMBOLO PATA DE GALLO PARA
MOSTRAR EN QUÉ DIRECCIÓN VA LA RELACIÓN. EN OTRAS OCASIONES PUEDE QUE LLEVE EL SÍMBOLO DE 1 Y ∞ INFINITO
ES DECIR DE UNO A MUCHOS EN OTRAS SITUACIONES PUEDE SER EN DEPARTAMENTOS E EMPLEADOS, O PUEDA QUE SE
REPITA ESTE ESQUEMA DENTRO DE CLASE Y ESTUDIANTE.
UN ELEMENTO EQUIVALE A MUCHOS EN LA PARTE IZQUIERDA DE ESTA MANERA POR TANTO DE ESTA PUEDE AVER VARIOS
ESTUDIANTE DENTRO DE UN DEPARTAMENTO PUEDA HABER VARIOS EMPLEADOS, DENTRO DE CADA CATEGORÍA GENERA MUCHO
MÁS PEDIDOS LOS CLIENTES GENERAN
DESCRIBIENDORELACIONES DE MUCHOS A MUCHOS
LA RELACIÓN MÁS COMÚN DE MUCHOS A MUCHOS ENTRE LAS TABLAS DE UNA BASE DE DATOS
RELACIONADAS, HA BESES SEA NECESARIA DEFINIR UNA RELACIÓN DE MUCHOS A MUCHOS.
AUNQUE UNA GESTIÓN DE BASE DE DATOS NO TENGA SOPORTE DIRECTO VAMOS A USAR UNA SOLUCIÓN
INTERMEDIA COMO SIEMPRE NOS CENTRAMOS A UN PROBLEMA DE NEGOCIO TENEMOS QUE TENER UNA
SOLUCIÓN ABSTRACTA Y TECNOLÓGICAS
TRANSACCIONES Y EL TEST ACID
CUANDO TRATAMOS DE INTRODUCIR O MODIFICAR DATOS A NUESTRAS BASES DE DATOS A MENUDO
TENEMOS QUE TRABAJAR LAS ACCIONES UNA TRANSACCIÓN ES UNA COSA MUY IMPORTANTE DENTRO DEL
MUNDO DE BASE DE DATOS Y PARA ENTENDERNOS MEJOR QUE PODEMOS HACER ES PENSAR COMO
ARRIAMOS UNA TRANSACCIÓN EN UN MUNDO REAL CUANDO HABLAMOS DE UNA TRANSACCIÓN NOS
REFERIMOS AUN ACTO COMERCIAL POR EJEMPLO :LE DA €15 A UN LIBRERO SE LO DA POR EL LIBRO
ESA ES LA TRANSACCIÓN LO IMPORTANTE ES QUE LA TRANSACCIÓN ES ESPERAR EL LIBRO Y SI TE
ENTREGA EL LIBRO ESPERAS ENTREGAR EL DINERO O BIEN SUCEDE DOS COSAS O NINGUNA DE ELLAS
SUCEDERÁ
POR TANTO EN UN SISTEMA DE COMPUTACIÓN ES LO CLÁSICO DE TRANSACCIÓN ES UN SISTEMA
BANCARIO.
UNA TRANSACCIÓN DEBE SER ATÓMICA, CONSISTENTE, AISLADA Y DURABLE
ATOMICA: ES UNA PALABRA GRIEGA ATOMO A UNA UNIDAD INDIVISIBLE SE REFIERE A LA IDEA
CENTRAL DE QUE ESTA TRANSACCIÓN DEBE OCURRIR COMPLETAMENTE O NO OCURRIR EN ABSOLUTO SI
HAY DOS PASOS PARA LA TRANSACCIÓN O 20 PASOS TODOS ESTÁN CONTENIDO Y O BIEN SE COMPLETA
EN OTRO SE COMPETA CON ÉXITO VUELVE AL ESTADO ORIGINAL NO EXISTE EN CONCEPTO DE
TRANSACCIÓN SE PRODUZCA A MITAD SI POR ALGÚN MOTIVO SE PIERDA UNA TRANSACCIÓN POR UN
CORTE DE ENERGÍA POR QUEDARSE SIN ESPACIOS PARA ALBERGAR UN MEMORADO O UN RE APLICACIÓN
NO IMPORTA SEA CUAL SEA EL ERROR LA REGLA ATÓMICA ES LA REGLA QUE TODO OCURRE O NADA
OCURRE.
CONSISTENTE COHERENTE: SIGNIFICA QUE CUALQUIER TRANSACCIÓN DEBE DE TENER UN ESTADO BALIDO AL PRINCIPIO Y
DEJAR OTRO ESTADO BALIDO AL FINAL.
AISLADA: LA TRANSACCIÓN ESTÁ BLOQUEANDO ESENCIALMENTE EN ESE MOMENTO LOS DATOS QUE PARTICIPAN EN LA
TRANSACCIÓN POR TANTO EL SISTEMA DEBE BLOQUEAR LOS DATOS MIENTRAS ESTA ESTÁN DENTRO DE LA TRANSACCIÓN PARA
QUE NINGUNA OTRA PARTE DEL SISTEMA LOS PUEDA UTILIZAR.
DURABLE: DURABILIDAD ES PARA QUE LA TRANSACCIÓN SEA ROBUSTA ESTO QUIERE DECIR QUE TODO ESTO SUCEDE Y QUE
LA TRANSACCIÓN SEA SUCEDIDO CON ÉXITO EN ESE CASO SE GARANTIZA LA OPERACIÓN.
INTRODUCCION AL MODELO DE BASE DE DATOS
PLANIFICANDO TUS BASES DE DATOS
COMO PODEMOS DISEÑAR UNA BASE DE DATOS INDEPENDIENTES DE BASE DE DATOS QUE ESTÉS UTILIZANDO.
TENER UN ESQUEMA: PARA PODER REFLEJAR UNA PARTE DE LAS TABLAS Y CAMPOS QUE BAN A PARTICIPAR DENTRO DE LA
BASE DE DATOS, PARA DISEÑAR Y CREAR.
NO DEBES EMPEZAR EN LA BASE DE DATOS: UN ERROR MUY COMÚN EN ABRIR DIRECTAMENTE EL SOFTWARE DE BASE DE
DATOS EL CLIENTE DE VISIÓN VISUAL QUE NOS DA ACCESO A LA BASE DE DATOS Y EMPEZAR A CREAR TABLAS Y EMPEZAR
A CREAR CAMPOS DIRECTAMENTE DENTRO DE SUS SOFTWARE Y ESTO GENERALMENTE ES UNA IDEA BASTANTE MALA.
NESECITAMOS REALIZAR PLANIFICACCION: ES ALGO QUE NO SE PUEDE VISUALIZAR Y ES ALGO QUE NO SE PUEDE
IMPROVISAR Y LUEGO CABIAR DE IDEA PUEDE TENER CONSECUENCIAS BASTANTES DESASTROSAS POR TANTO LOS CAMBIOS
SON POSIBLES, PERO DOLOROSOS Y POR TANTO TENEMOS QUE EVITARLOS SIEMPRE QUE PODAMOS
VENTAJAS: LAS BASES DE DATOS YA TIENEN CIERTO TIEMPO Y EL MODELO DE BASE DE DATOS REGIONAL QUE CONOCEMOS
TIENE UN CIERTO ENTORNO QUE TIENE UN ENTORNO DE UNOS 30 Y 40 AÑOS, ESTO QUIERE DECIR QUE EN CUALQUIER CASO
EXISTEN MECANISMO QUE PUEDEN REALIZAR MODIFICACIONES A UNA BASE DE DATOS QUE YA A SIDO CREADA PERO SI SE
PUEDE REALIZAR MODIFICACIONES LO ÚNICO QUE QUIERE ES MODIFICAR UNA BASE DE DATOS Y TENER QUE MODIFICARLA
AL CABO DE UN AÑO O DOS SIMPLEMENTE PODER MODIFICAR HAY CRIC PUEDEN DEJAR DE FUNCIONAR LO CUAL PUEDE
DEJAR LA APLICACIÓN ORIGINAL EN UN ESTADO DESASTROSO LO IMPORTANTE SIEMPRE, CUANDO DISEÑAMOS UNA BASE DE
DATOS ES REALIZAR ALGO DE PLANIFICACIÓN PREVIA
PLANIFICANDO TU BASE DE DATOS
¿CUÁL ES PUNTO REALMENTE IMPORTANTE DE TU BASE DE DATOS? ES DECIR ¿PARA QUE SIRVA TU BASE DE DATOS?
ESTAS CONSTRUYENDO UNA BASE DE DATOS PARA APOYAR UNA NECESIDAD YA SEA UNA NECESIDAD DE ESCRITORIO, UNA
APLICACIÓN WEB, O UNA APLICACIÓN MÓVIL.
ESTAMOS CONSTRUYENDO UNA BIBLIOTECA EN LÍNEA SERÍA DEMASIADO FÁCIL PEDIR ALGO ASÍ:
”ES UNA BASE DE DATOS PARA ALMACENAR INFORMACIÓN DE PRODUCTOS Y COMPRAS.” DENTRO DE ESA BIBLIOTECA O
DENTRO DE ESA LIBRERÍA MIENTRAS ESTO PUEDE SER CIERTAS CUESTIONES NOS DEBERÍAMOS PREGUNTAR CUÁL ES LA
INTENCIÓN DE ESA LIBRERÍA O ESA BIBLIOTECA O ES UN SITIO WEB, ES UNA APLICACIÓN DEBIDO COMO CREZCA ESA
APLICACIÓN EN LOS PRÓXIMOS AÑOS DEPENDERÁ DE CÓMO PLANTEES COSAS AHORA POR TANTO NO HACE FALTA TENER EN
CUENTA QUE SEA DEMASIADO COMPLEJO.
“AYUDAMOS A LOS ACOMPAÑANTES A ENCONTRAR LIBROS DESCUBRIR LAS OPCIONES DE OTROS LECTORES COMPRAR Y SEGUIR
EL ESTADO DE SUS PEDIDOS, CONTRIBUIR CON SUS PROPIAS OPCIONES, Y SABER QUE OTROS PRODUCTOS LES PODRÍAN
GUSTAR, BASÁNDONOS EN LO QUE LES GUSTARÍA A OTROS LECTORES CON GUSTO SIMILARES.”
¿QUE ES LO QUE YA TIENES?
¿QUÉ PARTES SON LAS QUE YA TIENEZ CLARADENTRO DE TU MODELO DE NEGOSIOS EN DEFINITIVA SON LAS QUE BAN A
DERIBAR EN LA BASE DE DATOS?
ELEMENTOS FISICOS: LAS BASES DE DATOS TIENEN COMO OBJETIVOS SOPORTAR COMO ELEMENTOS CUÁNTICOS, ES DECIR EL
OBJETIVO MUCHAS BESES CONVERTIDO EN VEGETAL COMO ELEMENTO FÍSICOS EXISTENTES TALES COMO FORMULARIOS, HOJAS
DE PERIÓDICO, FACTURAS.
GENTE Y EXPERIENCIA: ES REALIZAR LA VERSIÓN DIGITAL DE LOS PROCESOS QUE ESTÁN LLEVANDO GENTES QUE YA
TIENEN UNA DETERMINADA EXPERIENCIA DENTRO DE UN SECTOR.
UNA BASE DE DATOS YA EXISTENTE: MUCHAS BESE LO QUE HACEMOS ES DIGITALIZAR UNA BASE DE DATOS YA EXISTENTE
EN MODO FÍSICO INCLUSO MUCHAS OTRAS BESES MUY COMUNES COMO OTROS DÍAS CONSISTE EN TRABAJAR DE ESAS QUE
DURANTE AÑOS ESTÁN TRABAJANDO EN BASES DE DATOS REALIZADAS EN HOJAS DE CÁLCULO, LA MAYORÍA QUIEREN DAR UN
GRAN SALTO MÁS ASÍA DELANTE.
EN DEFINITIVA SOLO TENEMOS QUE HACER UNA BASE DE DATOS EN DEFINITIVA CUANDO
AYA UNA HOJA DE CÁLCULO.
ENTIDADES: LAS BASES DE DATOS RELACIONALES SE COMPONEN DE UNA O MÁS TABLAS,
LAS TABLAS SOLAMENTE SON COMPONENTES BÁSICOS DE UNA BASE DE DATOS.
IDENTIFICANDO COLUMNAS Y TIPOS DE DATOS
LAS ENTIDADES SE CONVERTIRÍAN EN NUESTRAS TABLAS Y LOS ATRIBUTOS DE NUESTRAS
ENTIDADES SE CONVERTIRÍAN EN LAS COLUMNAS DE LA BASE DE DATOS.
TABLA EMPLEADO: TENDRÍAMOS QUE HACER UNA COLUMNA PARA PRIMER NOMBRE,
APELLIDO, FECHA ALTA, TIPO SALARIO, DIRECCION1, DIRECCION2, CIUDAD, ESTADO,
CP, EMAIL, FOTO, (ETC.) PORQUE SEPARAR TANTO AL DEFINIR LAS COLUMNAS, ES PARA
PODER REALIZAR MÁS ADELANTE TANTAS BÚSQUEDAS COMO SEA NECESARIO.
ELIGIENDO CLAVES PRIMARIAS EN TABLAS
CADA TABLA TIENE QUE TENER UN IDENTIFICADOR PRINCIPAL, EXCLUSIVO, UNA FILA
INDIVIDUAL DONDE NO PUEDA HABER DUPLICADO DONDE NO HUBIERA HABER CONFUSIÓN
POR TANTO SI TENEMOS UNA TABLA DE EMPLEADO TENDRÍA QUE HABER UNA IDEMPLEADO
SI TENEMOS UNA TABLA DE CLIENTES TIENE QUE HABER UN IDCLIENTES Y SI TENEMOS
ISDN NOS LLEVA A UN LIBRO ESPECÍFICO O TENEMOS QUE DECIR QUE TALVEZ ESA ES LA
CLAVE PRIMARIA.
USANDO CLAVES COMPUESTAS
ESTO ES CUANDO UN VALOR NO ESPECIFICA ÚNICA A UNA FILA PERO LOS VALORES SÍ
QUE LOS HACEN POR TANTO LES GUSTARÍA COMBINAR DOS COLUMNAS PARA CREAR UNA
CLAVE PRINCIPAL.
MODELO DE BASES DE DATOS RELAIONES
CREANDO RELACIONES
SI TENEMOS UNA SERIE DE DATOS EN UNA SERIE DE TABLAS INDIVIDUALES SABEMOS QUE MUCHAS DE
ESTAS TABLAS SE VAN A NECESITAR ENTRE SI POR TANTO SI EMPEZAMOS A DESGLOSAR DIAGRAMA DE
ER SIMPLEMENTE TRATAMOS DE EMPEZAR Y ENTABLAR ALGÚN TIPO DE RELACIONES.
OPCIONES DE RELACIÓN (CARDINALIDAD)
SON TRES TIPOS:
UNO-A-UNO
UNO –A-MUCHOS
MUCHOS-A-MUCHOS
EL ORDEN NATURAL DEL DISEÑO DE BASES DE DATOS
EN PRIMER LUGAR DESHUESAMOS LAS ENTIDADES MÁS ADELANTES SE VAN A CONVERTIR EN TABLAS, A
PARTIR DE AHÍ LO QUE HACEMOS ES CREAR LAS BASE DE DATOS LOS ATRIBUTOS DE ESTAS ENTIDADES
Y ATRIBUTOS SE VAN A CONVERTIR EN LAS COLUMNAS INCLUSO LO QUE AREMOS ES ESPECIFICAR
CUÁLES SERÁN LAS CLAVES PRIMARIAS Y NO SE PUEDE ESTABLECER LA RELACIÓN, QUE NO TENGAMOS
LAS CLAVES PRIMARIAS POR TANTO EMPEZAMOS AGREGAR TABLAS EN LAS QUE BALEN ESTAS
RELACIONES DE UNO A UNO COMO A MUCHOS.
DEFINIENDO RELACIONES DE UNO A MUCHOS
EL TIPO MÁS COMÚN DE CARDINALIDAD DENTRO DE UN SISTEMA DE GESTIÓN DE BASE DE DATOS
RELACIONAL ES DE UNO A MUCHOS QUE TAMBIÉN DEBEMOS DESCRIBIR MUCHOS A UNO DEPENDE UN POCO
QUE LADO DE RELACIÓN LO MIREMOS.
EXPLORANDO DE UNO A MUCHOS
ES POSIBLE CREAR RELACIONES UNO A UNO PERO REALMENTE ES INUSUAL EXPLORANDO RELACIONES DE
UNO A UNO.
EXPLORANDO RELACIONES DE MUCHOS A MUCHOS
MOSTRAR UNA TABLA DE EJEMPLOS DE ESTUDIANTES PUEDO AÑADIR UNA COLUMNA DE IDCLASE LO QUE
TENGO QUE HACER ES AÑADIR CLASE Y ESTUDIANTES A LA TABLA VINCULADA A LA TABLA LLAMÉMOSLA
TABLA ADJUNTA UNA TABLA DE UNIÓN, UNA TABLA DE PUENTEO, UNA TABLA DE PUENTEO, UNA TABLA
DE REFERENCIA CRUZADA.
ENTENDIDO LAS REGLAS DE LAS RELACIONES Y LA REFERENCIAL
ES LA RELACIÓN QUE SE ESTABLECE EN VARIAS TABLAS.
PARA UN CLIENTE ES IMPORTANTE POR TODOS LOS PEDIDOS PERO IGUAL DE IMPORTANTE ES LA IDEA UNA RELACIÓN ES
IGUAL QUE UNA REGLA UNA RESTRICCIÓN ENTRE UNA FILA DE N CLIENTE Y UNA FILA QUE NO EXISTE DENTRO DE LA
TABLA DE PEDIDO ASI DE ESTA MANERA NO SERÍA POSIBLE A SER UNA TABLA DE PEDIDOS UN NUEVO REGISTRO QUE
FUERA REGISTRO DE REFERENCIA, CUANDO REALMENTE UN CLIENTE NO EXISTE.
INTEGRIDAD REFERENCIAL
HAY DOS LUGARES QUE PRINCIPALMENTE VAMOS A IMPACTAR LA VISIÓN DE NUEVAS FILAS VAMOS A REESCRIBIR ES LA
ACTUALIZACIÓN EN ESTE CASO POR TANTO NO PUEDO REALIZAR UNA ACTUALIZACIÓN SOBRE EL LÍDER DE PEDIDOS.
ELIMINACIÓN EN CASCADA
PUEDE HABER VARIAS ELIMINACIONES EN CASCADA LA PRIMERA DE ELLA ES CUANDO OCURRE CUANDO INTENTO ELIMINAR EL
CLIENTE.
ANULACION EN CASCADA
AL ELIMINAR UN CLIENTE PERO POR LAS RAZONES QUE SEA RAZONES RELACIONADAS CON LA CONTABILIDAD NO QUIERO
ELIMINAR LAS FILAS CORRESPONDIENTES A ESE PEDIDO DEL CLIENTE PERO NO EL PEDIDO.
INACCION
ES INTENTAR ANULAR LOS USUARIOS X PERO PARA ANULAR LOS USUARIOS X ESTARÍA INTRODUCIENDO UNA FALTA DE
INTEGRIDAD REFERENCIAL PORQUE EXISTIRÍAN UNAS LÍNEAS DE PEDIDO QUE NO CORRESPONDERÍA A NINGÚN CLIENTE LO
QUE SE HACE ES ANULAR EL INTENTO DE ANULACIÓN Y PARA ANULAR UN CLIENTE SERIA CERRAR UN USUARIO DIFERENTE
LAS LÍNEAS DE PEDIDO O CUALQUIER OTRO REGISTRO DENTRO DE ESTE SISTEMA REFERENTE EN CONCIENCIA A ESTE
ELEMENTO.
MODELADO DE BASES DE DATOS OPTIMIZACIÓN
ENTIENDO LA NORMALIZACIÓN DE BASE DE DATOS
ESTE ES UN PROCESO DONDE SE TOMA UN DISEÑO DE LA BASE DE DATOS Y SI APLICA UN CONJUNTO DE CRITERIOS
FORMALES LAS REGLAS LLAMADAS FORMAS NORMALES ESTAS SE DESARROLLARON DENTRO DE 40 AÑOS PRINCIPALMENTE POR
EL PADRE DE LAS CLASES DE DATOS FINALES.
PRIMERA FORMA NORMAL= 1NF
SEGUNDA FORMA NORMAL=2NF
TERCERA FORMA NORMAL=3NF
“LA BASE DE DATOS CUMPLIRÁ CON LA TERCERA FORMA NORMAL CUANDO CUALQUIER
ATRIBUTO NO PRIMARIO DE R SEA NO TRANSITIVAMENTE DEPENDIENTE (P.E
DIRECTAMENTE DEPENDIENTE) DE CADA CLAVE CANDIDATA DE R…”
PRIMERA RAGLA FORMAL
LA PRIMERA REGLA NORMAL DICE QUE SOLO DEBEMOS CONTENER UN VALOR QUE NO DEVEN
AVER GRUPOS NI REPETICIÓN
SEGUNDA REGLA FORMAL
CUALQUIER CAMPO NO CLAVE DEBERÁ SER DEPENDIENTE DE TODA LA CLAVE PRIMARIA
TERCERA REGLA FORMAL NORMAL
NINGÚN CAMPO NO CLAVE DEPENDE DE NINGÚN OTRO CAMPO NO CLAVE
DESNORMALIZACION DE BASES DE DATOS
NUESTRO DISEÑO DEBE DE PASAR ATREVES DE LAS FORMAS NORMALES PERO NO SOLO
EXISTEN ESTAS SI NO OTRAS PERO CUMPLIR CON LAS PRIMERAS TRES ES LO MÁS
HABITUAL
MODELADO DE BASES DE DATOS PETICIONES
CREANDO PETICIONES SQL
ES EL VOCABULARIO COMPARTIDO ENTRE LAS BASES DE DATOS RELACIONALES ESTE LENGUAJE NO ES
PARA PROGRAMACIÓN DE PROPÓSITO GENERAL ES UN PEQUEÑO LENGUAJE CURAMENTE CENTRADO PARA
BASES DE DATOS LO BUENO ES QUE CON UN PEQUEÑO PUÑADO DE PALABRAS CLAVE VAS A HACER EL 90
POR CIENTO DE TODO LO QUE PUEDAS NECESITAR EN SQL HAY MUCHAS PALABRAS CLAVE PERO HAY UNA
QUE VAS A UTILIZAR POR ENCIMA DE LAS DEMÁS Y ESTA ES SELECT ES UNA PALABRA QUE VAMOS A
UTILIZAR PARA SELECCIONAR O LEER INFORMACIÓN DE UNA DE LAS TABLAS DE NUESTRAS BASES DE
DATOS LO QUE ASEMOS ES PREGUNTAR A LAS BASES DE DATOS Y ESPERAMOS QUE NOS DÉ UN
RESPUESTA
TÉCNICAMENTE LA MEJOR PALABRA ANTES QUE PREGUNTA ES CONSULTA QUIERE
ES LA PALABRA QUE SE USA PARA INDICAR QUE LE ESTAMOS PREGUNTANDO ALGO A UNA BASE DE
DATOS
SELECT
SI QUIERES SELECCIONAR ALGUNOS DE LOS DATOS DE MI BASE DE DATOS VOY A TENER BARIAS
TABLAS BARIAS COLUMNAS EN CADA TABLA VOY A DECIR QUE PARTE ESPECIFICA DE LA BASE DE
DATOS ESTOY INTERESADO ES ESCANEAR
EL FORMATO ES EL SIGUIENTE:
SELECT COLUMNAS
FRON TABLA
LO QUE HACEMOS ES ELEGIR UNA COLUMNA COMNCRETA DENTRO DE UNA TABLA CONCRETA
COLUMNA HACE REFERENCIAS A LA COLUMNA
TABLA HACE REFERENCIA AL NOMBRE DE TABLA
POR EJEMPLO
VOY A DECIR QUE QUIERO SELECCIONAR EL NOMBRE DE LA TABLA EMPLEADO
SELECT NOMBRE
FROM EMPLEADO
Y ESTO LO QUE ARIA ES DEVOLVERME LOS NOMBRES DE LA TABLA EMPLEADO YA SEA QUE TENGAMOS
MIL REGISTROS O CUALQUIER CANTIDAD
SI QUEREMOS RECUPERAR MÁS DATOS SOLO SEPARAMOS POR UNA COMA
SELECT NOMBRE, APELLIDO
FROM EMPLEADO
Y EL RESULTADO SERÁ OB TENER LA LISTA DE NOMBRE Y LA LISTA DE APELLIDOS
EN ALGUNAS OCASIONES NO PONDREMOS COMA SI NO QUE PONDREMOS * QUE ESTE SIRVE
PARA VISUALIZAR TODO LO QUE TENEMOS DENTRO DE UNA TABLA
UNA FORMA DE RESTRINGIR NO ES RESTRINGIR LOS CAMPOS SI NO RESTRINGIR CUANTOS
REGISTROS QUEREMOS DEVOLVER LO USAMOS CON LA CLAUSULA WHERE ES LA CONDICION
DONDE
PUEDO DECIR X EJEMPLO DONDE EL APELLIDO ES = ´GREEN’
O BIEN DONDE EL IDEEMPLEADO = 474
O BIEN INCLUSO DONDE EL SALARIO >50000
¿QUÉ PASA CON LAS MAYÚSCULAS Y CON LAS MINÚSCULAS IMPORTAN?
EN SQL NO IMPORTAN EN TÉRMINOS GENERALES POR LO TANTO PODRÍAMOS ESCRIBIR
SELECT SIN NECESIDAD DE USAR MAYÚSCULAS PERO LOS DESARROLLADORES HAN ADAPTADO
A ESCRIBIR LAS PALABRAS CLAVES EN MAYÚSCULAS Y ESCRIBIR LAS COLUMNAS O EL
NÚMERO DE LA BASE DE DATOS EN MINÚSCULAS
SQL TAMBIÉN NO ES SENSIBLE A LOS ESPACIOS EN BLANCOS QUIERE DECIR AL NOMBRE DE LAS
COLUMNAS UNA SENTENCIA COMPLETA DE SQL DEBE DE TERMINAR CON ;
USANDO CLAUSA WHERE
AL ESCRIBIR UNA CONSULTA BASICA MUCHAS VECES LA PARTE DE SELECT Y FROM SON BASTANTES
FÁCILES
ESCRIBIR LA CLAUSULA WHERE CONTRA UNA TABLA EN PARTICULAR ES UNH POCO COMO ESCRIBIR UNA
SENTENCIA IF EN UN LENGUAJE DE PROGRAMACIÓN CONVENCIONAL LO QUE ESTAMOS TRATANDO DE
ESCRIBIR ES UNA SITUACIÓN VERDADERA O FALSA ASI QUE KIERO LLAMAR A ESA TABLA DONDE EN
ESTE CASO BOY A ESPECIFICAR QUE SOLO KIERO SELECCIONAR SOLO AQUELLAS COINCIDENCIAS CUYO
APELLIDO SEA EXACTAMENTE IGUAL QUE GREEN
SELECT *
FROM EMPLEADO
WHERE APELLIDO= GREEN
SI LO QUE SE IGUALA ES UN TEXTO DEVE DE IR CON COMILLAS PERO LAS USA SIMPLES NO DOBLES
SI NLO QUE SE ESTA COMPARANDO ES UN NUMERO NO NECESITA COMILLAS
PARA COMBINAR CON LA CLAUSULA WHERE PODEMOS USAR ADN
EJEMPLO 1
WHERE SALARIO>50000
ADN DEPARTAMENTO = ‘VENTAS’
EJEMPLO 2
WHERE SALARIO>50000
OR DEPARTAMENTO = ‘VENTAS’
OR LO QUE HACE ES COMPROBAR QUE SE CUMPLAN LAS CONDICIONES O ALMENOS QUE SE CUMPLA UNA
SI QUIERO PROBAR QUE DEPARTAMENTO ESTA DENTRO DE MARKETING Y VENTAS
EJEMPLO:
SELECT *
FROM
WHERE DEPARTAMENTO IN (´MARKETING´, ‘VENBTAS’);
SI BUSCAMOS ALGO MAS FLEXIBLE PODEMOS UTILIZER LA PALABRA LIKE LO QUE HACE ES
BUSCAR DENTRO DE APELLIDO BA A BUSCAR AQUELLOS QUE EMPIECEN POR GREEN
EJEMPLO:
SELECT *
FROM EMPLEADO
WHERE APELLIDO LIKE ‘GREEN%’;
SILO QUE ESTAMOS BUSCANDO ES UNA SOLA LETRA PODEMOS USAR EL _
EJEMPLO:
SELECT *
FROM EMPLEADO
WHERE APELLIDO LIKE ‘SM_TH’;
HAY OTRO BALOR ESPECÍFICO QUE SE LLAMA NULL
SELECT *
FROM EMPLEADO
WHERE INICIAL = NULL;
ESTE ELEMENTO CONVIERTE UN VALOR A NADA ES DECIR UN VALOR BASIO PERO ES
MEJOR EN ESTE CASO COLOCAR IS NULL PORQUE NO QUEREMOS IGUALAR A UN VALOR
VACÍO SI NO QUE LO QUEREMOS PREGUNTAR SI ES UN VALOR VACÍO
ORDEN DE LOS RESULTADOS BASES DE DATOS
LA FORMA EN LA QUE LA BASE DE DATOS DEVOLVERÁ LOS DATOS DE LA CONSULTA NO SIEMPRE SERÁ DE LA MANERA QUE
NOSOTROS QUEREMOS
SEECT DESCRIPCIÓN,
PRECIO, COLOR
FROM PRODUCTO;
ORDER BY PRECIO DESC;
DESC SE UTILIZA DE MAYOR A MENOR
LO QUE QUIERO ES QUE ME APAREZCA EL PRECIO MAYOR
ORDER BY SE UTILIZA PARA DAR UN ORDEN A LAS TABLAS
OTRO EJEMPLO
SELECT*
FROM EMPLEADO
WHERE SALARIO > 50000
ORDER BY APELLIDO, NOMBRE;
EN ESTE EJEMPLO SELECCIONO LOS EMPLEADOS QUE GANA MÁS DE 50000 Y VA A ORDENAR NOMBRES Y APELLIDOS
USANDO FUNCIONES AGREGADAS POR LAS BASES DE DATOS
ACONTINUACION TENEMOS UNAS CUANTAS PALABRAS BAJO SQL Y LAS TENEMOS POR EL NOMBRE DE FUNCIONES AGREGADAS
SELECT COUNT (*)
FROM EMPLEADO
CON ESTA FUNCION LO QUE HARA ES CONTAR E NUMERO DE EMPLEADOS QUE TIENE
SELECT COUNT (*)
FFROM EMPLEADO
WHERE SALARIO > 50000
CON ESTA FUNCION LO QUE HARA ES CONTAR E NUMERO DE EMPLEADOS QUE TIENE Y TAMBIEN DECIR CUANTOS EMPLEADOS
GANAN MAS A 50000
SELECT *
FROM PRODUCTO
ORDER BY PRECIO DESC;
TODO EL PRODUCTO ORDENADO DE MANERA DESENDIENTE
SELECT MAX (PRECIO)
FROM PRODUCTO;
EN ESTE PERMITE SACAR E VALOR MAXIMO DEL PRECIO
SELECT MAX (PRECIO)
FROM PRODUCTO;
EN ESTE PERMITE SACAR E VALOR MINIMO DEL PRECIO
SELECT AVG (PRECIO)
FROM PRODUCTO;
EN ESTE PERMITE SACAR E VALOR PROMEDIO DEL PRECIO
SELECT SUM (TOTAL)
FROM PEDIDO;
WHERE IDCLIENTE
EN ESTE PERMITE SUMAR LOS VALORES PERO PREGUNTA QUE ES LO QUE QUIERE SUMAR
JUNTANDO TABLAS DE BASES DE DATOS
AQUÍ SE TRABAJARA CUANDO REALMENTE NO SE ESTÁ BUSCANDO INFORMACIÓN EN UNA SOLA TABLA SI NO EN 2
SELECT NOMBRE, APELLIDO, FECHAALTA,
IDDEPTO
FROM EMPLEADO
ESTE ES UN PROCESO NORMAL SOLO PARA UNA TABLA
PARA REALIZAR UN CRUCE DE DATOS VAMOS A UTILIZAR DE ESTA MANERA:
SELECT NOMBRE, APELLIDO, FECHAALTA,
IDDEPTO
FROM EMPLEADO JOIN DEPARTAMENTO
MODELADO DE BASES DE DATOS INDEXADO Y OPTIMIZACIÓN
CREANDO INDICES
CUANDO UNA BASE DE DATOS COMIENZA A CRECER ES DE SUMA IMPORTANCIA CREAR UN ÍNDICE
UN ÍNDICE LO QUE HACE ES PERMITIRNOS ENCONTRAR MÁS RÁPIDO UN CONTENIDO
SE PUEDE ORDENAR DE MANERA QUE SEA POR ORDEN ALFABÉTICO ES DECIR SI LO ORDENAN POR APELLIDO ORDENAR DE LA
A (A LA Z) Y SI NECESITAS UN APELLIDO CON H VAS DIRECTAMENTE A LA H Y BUSCAS LO QUE NECESITA
ES COMO UN LIBRO QUE TIENE MUCHAS PÁGINAS Y DESEAS SABE RUN POCO ACERCA DE ALGO Y MIRAS EL ÍNDICE
CONFLICTOS Y AISLAMIENTOS
IDEA DEL AISLAMIENTO
ESTA IDEA SE DA CUANDO EL USUARIO ESTA INTERACTUANDO CON LA BASE DE DATOS COMO PODEMOS EVITAR QUE SE
CRUCEN UNOS CON OTROS
PROCESOS ALMACENADOS
FORMA BÁSICA DE REALIZAR UN PROCESO ALMACENADO
CRÉATE PROCEDURE ALTOSALARIO()
SELECT * FROM EMPLEADO
WHERE SALARIO > 50000
ORDER BY APELLIDO, NOMBRE
END;
CALL ALTOSALARIO()
LA PALABRA CLABE CALL ALTOSALARIO() CON ESTO PODREMOS UTILIZARLO MAS TARDE
PROCEDIMIENTO MEDIANTE PARÁMETROS
CREATE PROCEDURE EMPLEADOSENDEPTO (IN DEPTT VARCHAR (50))
SELECT*FROM EMPLEADO
WHERE DEPARTAMENTO = ‘VENTAS’
ORDER BY APELLIDO, NOMBRE
END
ATAQUE DE INYECCIÓN SQL
ES UN ATAQUE BASTANTE TÍPICO CONTRA SITIOS DE INTERNET
OPCIONES DE BASES DE DATOS
BASES DE DATOS DE ESCRITORIOS
LOS MAS CONOCIDOS Y MAS ESCOJIDOS SON
MICROSOFT ACCES
FILE MAKER
ACCES ES UN MOTOR DE BASES DE DATOS QUE ESTA EN TODAS PARTES PORQUE ES PARTE DE LA SUIT DE MICROSOFT OFFICE
RAZONES PARA USARLOS
INSTALACION SIMPLE
FACIL DE USAR
PLANTILLAS PARA PRINCIPIANTES
HERRAMIENTAS CON INTERFAZ
OPCIONES DE REPORTE
RAZONES PARA NO USARLOS
MUCHOS USUARIOS
GRAN CANTIDAD DE DATOS
SISTEMAS DE BASES DE DATOS NOSQL
COUCHDB
MONGODB
APACHE CASSANDRA
HYPERTABLE
HBASE
NEO4J
BIGTABLE
RIAK
PROJECT VOLDEMORT
REDIS
CARACTERISTICAS DE NOSQL
NO USAR SQL
NO ESTAR BASADO A TABLAS
NO ESTAR ORIENTADO A RELACIONES
NO SER ACID
NO TENER SCHEMA FORMAL
ORIENTADAS AL DESARROLLO WEB
ORIENTADAS A DESARROLLOS GRANDES
A MENUDO DE CÓDIGO ABIERTO
GUARDADO DE DOCUMENTOS
SE GUARDA UN DOCUMENTO AUTONOMO EN LUGAR DE FILAS Y COLUMNAS
RAZONES PARA ESCOGER UNA BASE DE DATOS NOSQL
NECESITA UN SCHEMA FLEXIBLE.
TIENE GRANDES CANTIDADES DE DATOS
VALORAS MAS LA ESCALABILIDAD QUE LA CONSISTENCIA

Más contenido relacionado

La actualidad más candente

Sql comamdo
Sql comamdoSql comamdo
Sql comamdodmonges
 
Principales Reglas De Normalización De La Base De Datos
Principales Reglas De Normalización De La Base De DatosPrincipales Reglas De Normalización De La Base De Datos
Principales Reglas De Normalización De La Base De Datossakatski
 
Deshacer descargos PEPS en SCI SERVER
Deshacer descargos PEPS en SCI SERVERDeshacer descargos PEPS en SCI SERVER
Deshacer descargos PEPS en SCI SERVERArt y Campa Asociados
 
Manual batch-inputs
Manual batch-inputsManual batch-inputs
Manual batch-inputsJuan Garcia
 
2. creación de tablas 2007
2. creación de tablas 20072. creación de tablas 2007
2. creación de tablas 2007yenifer1995
 

La actualidad más candente (10)

Sql comamdo
Sql comamdoSql comamdo
Sql comamdo
 
final 3 bim axel
final 3 bim axelfinal 3 bim axel
final 3 bim axel
 
Principales Reglas De Normalización De La Base De Datos
Principales Reglas De Normalización De La Base De DatosPrincipales Reglas De Normalización De La Base De Datos
Principales Reglas De Normalización De La Base De Datos
 
Deshacer descargos PEPS en SCI SERVER
Deshacer descargos PEPS en SCI SERVERDeshacer descargos PEPS en SCI SERVER
Deshacer descargos PEPS en SCI SERVER
 
Manual batch-inputs
Manual batch-inputsManual batch-inputs
Manual batch-inputs
 
2. creación de tablas 2007
2. creación de tablas 20072. creación de tablas 2007
2. creación de tablas 2007
 
02 arias jhonatan organigrmas
02 arias jhonatan organigrmas02 arias jhonatan organigrmas
02 arias jhonatan organigrmas
 
02 arias jhonatan access 2010
02 arias jhonatan access 201002 arias jhonatan access 2010
02 arias jhonatan access 2010
 
Busqueda y drive
Busqueda y driveBusqueda y drive
Busqueda y drive
 
Busqueda y drive
Busqueda y driveBusqueda y drive
Busqueda y drive
 

Destacado

Base de datos
Base de datosBase de datos
Base de datoscb3danny
 
Temario informatica y computacion 4
Temario informatica y computacion  4Temario informatica y computacion  4
Temario informatica y computacion 4soniagomezmorales
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)YENZU
 
Modelo E/R
Modelo E/RModelo E/R
Modelo E/Romarzon
 
Ventajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdVentajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdIrene Lorza
 
Modelo entidad relacion de base de datos
Modelo entidad relacion de base de datosModelo entidad relacion de base de datos
Modelo entidad relacion de base de datosjinethmarcelasanchez
 
Bd ferreteria
Bd ferreteriaBd ferreteria
Bd ferreteriadapaes
 

Destacado (9)

Linq
LinqLinq
Linq
 
Base de datos
Base de datosBase de datos
Base de datos
 
Temario informatica y computacion 4
Temario informatica y computacion  4Temario informatica y computacion  4
Temario informatica y computacion 4
 
Diagrama de entidad relacion
Diagrama de entidad relacionDiagrama de entidad relacion
Diagrama de entidad relacion
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)
 
Modelo E/R
Modelo E/RModelo E/R
Modelo E/R
 
Ventajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bdVentajas y desventajas de los modelos de bd
Ventajas y desventajas de los modelos de bd
 
Modelo entidad relacion de base de datos
Modelo entidad relacion de base de datosModelo entidad relacion de base de datos
Modelo entidad relacion de base de datos
 
Bd ferreteria
Bd ferreteriaBd ferreteria
Bd ferreteria
 

Similar a Introducción a fundamentos de bases de datos

Trabajo daniel empresarial (1)
Trabajo daniel  empresarial (1)Trabajo daniel  empresarial (1)
Trabajo daniel empresarial (1)danielpacangel
 
Trabajo alejandro empresarial
Trabajo alejandro empresarialTrabajo alejandro empresarial
Trabajo alejandro empresarialAlejito Parrado
 
Base de datos unac cirosario
Base de datos   unac    cirosarioBase de datos   unac    cirosario
Base de datos unac cirosarioCirosario
 
Base de datos 2
Base de datos 2Base de datos 2
Base de datos 2mixerboy12
 
Trabajo inf
Trabajo infTrabajo inf
Trabajo inffdsdasad
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datosJose
 
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lkPlantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lksanti302930
 
Proyecto final Andrea M.L.L.
Proyecto final Andrea M.L.L.Proyecto final Andrea M.L.L.
Proyecto final Andrea M.L.L.andrea_mer_1506
 
Trajos informatica
Trajos informaticaTrajos informatica
Trajos informaticarocket75
 
Infor me del viernes 28
Infor me del viernes 28Infor me del viernes 28
Infor me del viernes 28roberthquiroz
 
Infor me del viernes 28
Infor me del viernes 28 Infor me del viernes 28
Infor me del viernes 28 roberthquiroz
 
Funciones de un DBA y tipos de Base de Datos
Funciones de un DBA y tipos de Base de DatosFunciones de un DBA y tipos de Base de Datos
Funciones de un DBA y tipos de Base de Datoskevin vilca cabanillas
 
Novedades de access 2013
Novedades de access 2013Novedades de access 2013
Novedades de access 2013ramiroaguilar50
 
TODO PERIODO
TODO  PERIODOTODO  PERIODO
TODO PERIODO002tatan
 

Similar a Introducción a fundamentos de bases de datos (20)

Trabajo daniel empresarial (1)
Trabajo daniel  empresarial (1)Trabajo daniel  empresarial (1)
Trabajo daniel empresarial (1)
 
Trabajo alejandro empresarial
Trabajo alejandro empresarialTrabajo alejandro empresarial
Trabajo alejandro empresarial
 
Base de datos unac cirosario
Base de datos   unac    cirosarioBase de datos   unac    cirosario
Base de datos unac cirosario
 
accc 23
accc 23accc 23
accc 23
 
Base de datos
Base  de datosBase  de datos
Base de datos
 
Base de datos 2
Base de datos 2Base de datos 2
Base de datos 2
 
Trabajo inf
Trabajo infTrabajo inf
Trabajo inf
 
Plantilla con-normas-icontec
Plantilla con-normas-icontecPlantilla con-normas-icontec
Plantilla con-normas-icontec
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datos
 
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lkPlantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
 
Proyecto final Andrea M.L.L.
Proyecto final Andrea M.L.L.Proyecto final Andrea M.L.L.
Proyecto final Andrea M.L.L.
 
Trajos informatica 2
Trajos informatica 2Trajos informatica 2
Trajos informatica 2
 
Tarea
TareaTarea
Tarea
 
Trajos informatica 2
Trajos informatica 2Trajos informatica 2
Trajos informatica 2
 
Trajos informatica
Trajos informaticaTrajos informatica
Trajos informatica
 
Infor me del viernes 28
Infor me del viernes 28Infor me del viernes 28
Infor me del viernes 28
 
Infor me del viernes 28
Infor me del viernes 28 Infor me del viernes 28
Infor me del viernes 28
 
Funciones de un DBA y tipos de Base de Datos
Funciones de un DBA y tipos de Base de DatosFunciones de un DBA y tipos de Base de Datos
Funciones de un DBA y tipos de Base de Datos
 
Novedades de access 2013
Novedades de access 2013Novedades de access 2013
Novedades de access 2013
 
TODO PERIODO
TODO  PERIODOTODO  PERIODO
TODO PERIODO
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

Introducción a fundamentos de bases de datos

  • 2. INTRODUCCION A FUNDAMENTOS DE LA PROGRAMACION TENER DATOS NO ES UN PROBLEMA EL PROBLEMA ES LO QUE VIENE DESPUÉS PERO AL 6 PROBLEMAS POTENCIALES. TAMAÑO: LO QUE COMIENZA SIENDO PEQUEÑOS DATOS PUEDE CONVERTIRSE A GRANDES DATOS FACILIDAD DE ACTUALIZACIÓN: SI BARIAS PERSONAS ESTÁN TRABAJANDO EN LO MISMO PUEDE SOBRESCRIBIR LOS CAMBIOS PRECISIÓN: ALGUNOS ARCHIVOS CRECEN Y CRECEN Y ESO HACE QUE NO SEAN 100% FIABLES SEGURIDAD: PORQUE HAY DATOS CONFIDENCIALES Y SENSIBLES QUE NO DEBE VERLOS CUALQUIER PERSONA REDUNDANCIA: PUEDE PRODUCIR CONFLICTOS SI NO TENEMOS LAS PRECAUCIONES DEBIDAS YA QUE TANTAS COPIAS NO SON BUENAS IMPORTANCIA DE LOS DATOS: SI PASA UN ACCIDENTÉ PUEDES PERDER DATOS TIEMPO ETC., ESTAS SON LAS RAZONES POR LAS QUE P UNA BASE DE PUEDAS NECESITAR UNA BASE DE DATOS UNA BASE DE DATOS NO SOLO ES PARA PONER LOS DATOS SI NO PARA PERMITIRLES CRECER QUE OTROS PUEDAN MODIFICARLOS QUE LOS DATOS SEAN EXACTOS Y CONSISTENTES SABER QUIÉN PUEDE MODIFICARLOS LEERLOS REVISARLOS ETC. SISTEMA DE GESTION DE UNA BASE DE DATOS HAY QUE CONOCER LA DIFERENCIA ENTRE SISTEMAS DE GESTIÓN DE BASES DE DATOS Y BASES DE DATOS, CUANDO HABLAS CON UN PROGRAMADOR MUCHOS DE ELLOS TE DIRÁN QUE SU BASE DE DATOS ES: ORACLE SQL SERVER MY SQL POSTGRESQL MONGO DB CUALQUIER OTRA
  • 3. PERO ESTAS NO SON BASES DE DATOS SON SISTEMAS DE GESTION DE BASE DE DATOS. A MENUDO ABREVIADAS COMO DE DATA DEIS Y SISTEMA, LO QUE QUEREMOS INSTALAR ES UN SOFTWARE DBMS QUE NOS PERMITA GESTIONAR BASES DE DATOS PODRÍA SER PORTANDO UN SISTEMA DE GESTIÓN DE ESCRITORIOS TALES COMO POR EJEMPLO DESDE AXES EVENTOS ASTA BASE DE DATOS MUCHO MÁS GRANDES COMO ORACLE O LOS INSTALARÍA SOBRE UN ORDENADOR PERSONAL SINO UN ORDENADOR INDEPENDIENTE UNA BASE DE DATOS PORTANDO LAS REGLAS QUE RIGE SOBRE ESOS DATOS EL SISTEMA PORTANDO EN GESTIÓN DE DATOS EL MYSQL EL PROGRAMA O CONJUNTO DE PROGRAMA RODEAN Y GESTIONAN SU PROPIA BASE DE DATOS PARA ASEGURARSE QUE SE APLICAN LAS REGLAS Y UN GESTIÓN DE BASE DE DATOS PUEDE MANEJAR MUCHAS MÁS EN SU INTERIOR CADA UNO Y SEPARADA DE LA OTRA REGLAS DIFERENTES CON DATOS DIFERENTES CON MEDIDAS DE SEGURIDAD DIFERENTES EN UN DIAGRAMA GENERALMENTE VEREMOS: LAS BASES DE DATOS SON REPRESENTADAS COMO CILINDRÓ EN UN MUNDO PERFECTO PODRÍAMOS IMAGINAR QUE UNA EMPRESA SOLO EXISTIRÍA UNA BASE DE DATOS CONTENDRÍA TODOS Y CADA UNO DE LOS TROZOS O ELEMENTOS DE INFORMACIÓN, IMPORTANTE PARA ESA EMPRESA PERO SIN EMBARGO ES UNA PRÁCTICA MUY COMÚN AL HECHO DE TENER BARIAS BASES DE DATOS POR EJEMPLO LA BASE DE DATOS QUE SE DÉ LA INFORMACIÓN DEL CLIENTE PODRÍA SER INDEPENDIENTE DE LA BASE DE DATOS QUE SE OCUPA DE INFORMACIÓN DE RECURSOS HUMANOS POR TANTO EN MUCHAS EMPRESAS NO SOLO QUIEREN VARIAR LAS BASES DE DATOS ES LO QUE INCLUSO PUEDE OCURRIR DIFERENTES SISTEMAS DE GESTIÓN DE BASE DE DATOS TALES COMO SICO SERVER ORACLE O DIVIRTIÓ. AVECE ES SIMPLEMENTE O ESTAMOS USANDO UN SISTEMA ES MEJOR QUE OTRA COSA Y OTRO SISTEMA ES MEJOR QUE OTRA O ABECÉS SIMPLEMENTE PORQUE LA EMPRESA Y JUNTO CON LA ADQUISICIÓN VENIA OTRA BASE DE DATOS PERO A PESAR DE QUE EXISTEN DIFERENCIA EN SISTEMAS DE GESTIÓN DIFERENTES NO NECESITAMOS HINCAPIÉ EN CADA UNO DE ELLOS INDEPENDIENTEMENTE PORQUE MUY COMÚNMENTE NOS VAMOS A REFERIR A CADA UNO DE ELLOS COMO SISTEMAS RELACIONALES: ORACLE, SQL SERVER, DB2, MYSQL, POSTGRESQL, SQLITE, MS ACCESS DE GESTIÓN DE BASES DE DATOS O DRB O MS BASES DE DATOS
  • 4. TAMBIÉN EXISTEN OTRAS TALES COMO DBMS JERARQUICOS, DBMS DE RED, DBMS ORIENTADOS A OBJETOS O MÁS RECIENTEMENTE CAEN DENTRO DE LA CATEGORÍA ORIGINALMENTE SE DECÍA QUE ESTOS SISTEMAS MÁS BASADOS EN DB2 ESE CUELES SISTEMAS ALTERNATIVOS DB2 ESECUELES O SISTEMAS ALTERNATIVOS O DESDE HACE AÑOS SE CONOCEN COMO DB2 OLÍ SIQUES ES DECIR SISTEMAS NO VAMOS A ENTRAR EN DETALLES PORQUE NO TENEMOS UNA BASE DE DISTINCIÓN COMO PARA ENTRAR A ESE NIVEL DE DISTINCIÓN NOS VAMOS A CENTRAR PRIMERO EN COMPRENDER LOS SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONALES POR UN PAR DE RAZONES: ES UN SISTEMA MÁS COMÚN Y MÁS UTILIZADO DE TODOS COMO AQUELLOS QUE PUEDAS EN UN MOMENTO DADO VER O TODOS AQUELLOS QUE PUEDAS VER O PUEDAS TRABAJAR. LOS MISMOS PRINCIPIOS SON UTILIZABLES PARA TODOS ELLOS. SE CONOCE LOS SQL NO TE VA A HACER DEMASIADO DIFÍCIL SALTAR A OTROS TIPOS DE BASE DE DATOS COMO POR EJEMPLO LAS BASES DE DATOS SQL O MYSQL VISUALIZAR POR TANTO CUALES SON LAS CARACTERÍSTICAS DE LOS SISTEMAS RELACIONALES DE GESTIÓN DE BASES DE DATOS FUNDAMENTOS DE BASE DE DATOS CARACTERÍSTICAS DE LAS BASES DE DATOS RELACIONALES UNA BASE DE DATOS SE CONSTITUYE UNA O MÁS GENERALMENTE MÁS TABLAS TABLA: BLOQUE DE CONSTRUCCIÓN MÁS BÁSICO Y MÁS FUNDAMENTAL DE UNA BASE DE DATOS UNA BASE DE DATOS EN TABLAS ES SOLO UNA CASCARA BACÍA CARENTE DE SIGNIFICADO YA QUE EN TAL CASO NO SOLO NO HABÍA DADO DATOS EN LA MISMA NO ABRÍAN EN NINGÚN LUGAR PARA LOS DATOS AL FINAL PORQUE TODOS LOS DATOS AL FINALMENTE DEBE DE ESTAR EN TABLAS Y CADA TABLA SE DESCRIBE REPITIENDO UNA LISTA FORMALIZADAS DE DATOS VISUALMENTE A MENUDO SE REPRESENTAN COMO UNA HOJA DE CÁLCULO.
  • 5. NUESTRAS TABLAS SE COMPONEN DE COLUMNAS Y DE FILAS DE FILAS DE IZQUIERDA A DERECHA Y DE COLUMNAS UN POCO COMO LAS COLUMNAS QUE SOSTIENEN UN EDIFICIO Y SI TIENES VARIAS TABLAS DENTRO DE LA BASE DE DATOS, CADA TABLA DIFERENTE CONTIENEN INFORMACIÓN PERO REPITE SIEMPRE TENIENDO FILAS Y COLUMNAS AUNQUE TENGAN DIFERENTES NÚMEROS DE FILA Y DIFERENTE NÚMERO DE COLUMNAS FINALMENTE SIEMPRE SON LO MISMO DENTRO DE CADA UNA VAMOS A ENCONTRAR FILAS Y VAMOS A ENCONTRAR COLUMNAS TAMBIÉN DENTRO DE ELLAS LAS COLUMNAS. DENTRO DE CADA UNA FILA VAMOS A ENCONTRAR DENTRO DE ELLAS COLUMNAS, CADA COLUMNA POR TANTO DESCRIBE UNA PIEZA DE DATOS LAS TITULAREMOS COMO NOMBRE, APELLIDOS, FECHA DE CONTRATO, Y MUY IMPORTANTE NO SOLO PUEDE TENER UN NOMBRE SINO TAMBIÉN TIENE UNA DESCRIPCIÓN DEL TIPO DE DATOS QUE VA A CONTENER ESTOS CON NOMBRE DE FECHAS, O NÚMEROS TODA FILA DEBE DE TENER LA MISMA ESTRUCTURA CADA FILA DEBE DE TENER EL MISMO FORMATO NO ESTA PERMITIDO DESVIARSE DE LA ESTRUCTURA QUE NOS DAN LAS COLUMNAS POR TANTO CADA FILA ES UN CLIENTE Y CADA COLUMNA DESCRIBE UNA PARTE MUY ESPECÍFICA ACERCA DE LOS DATOS DE ES CLIENTE. CADA TABLA DEFINE QUE COLUMNAS SON Y QUE DEFINICIÓN TIENEN, IMPONEN NORMAS SOBRE LOS DATOS Y UNA VEZ QUE DESCUIDAMOS LAS REGLAS DEL TEMA DE GESTIÓN DE DATOS NO NOS VA A DEJAR ESCAPAR DE ELLAS SI DIGO POR ADELANTADO LA COLUMNA LLAMADA POR EJEMPLO FECHA, DEBE DE CONTENER Y DEBE DE PONER EN UNA FILA Y SIMPLEMENTE UN TEXTO QUE NUMERO VA A PERMITIR SI DIGO QUE DEBE DE CONTENER UN NÚMERO Y DEBE DE CONTENER UN VALOR NO PUEDO INTRODUCIR TAMPOCO UN TEXTO ASÍ QUE AL FINAL Y AL TANTO TENEMOS TABLAS QUE CONTIENEN DATOS Y QUE CONTIENEN COLUMNAS, NO SUENA MAL DE HECHO EN ABSOLUTO NADA MALO PERO DEBES DARTE CUENTA DE QUE NO PUEDES PENSAR EN ESTAS COSAS DE LA MISMA MANERA Y EL MISMO TIEMPO PORQUE TODAS TIENEN UN ORDEN PRIMERO DEBES DE DEFINIR TABLAS, UNA BES QUE HAYAS DEFINIDO TABLAS DEFINIDOS COLUMNAS Y UNA VES QUE AYAS DEFINIDO COLUMNAS SOLO CUANDO HAYAS DEFINIDO PRIMERO UNA TABLA PRIMERO LA COLUMNA TENDRÁN LAS FILAS Y UNA VES QUE AYAS DEFINIDO COLUMNAS DEFINIDO COLUMNAS Y LUEGO LAS FILAS Y UNA VES QUE AYAS DEFINIDO COLUMNAS Y ANTERIORMENTE TABLAS ENTONCES YA EL USO DEL DIA A DIA TRABAJARAS CON FILA AGREGANDO NUEVAS FILAS DE DATOS ACTUALIZANDO FILAS, ELIMINANDO LAS FILAS EXISTENTES UNO DE LOS PRIMEROS REQUISITOS QUE TE BAS A ENCONTRAR ES LA CAPACIDAD DE TENER ACCESO ESPECIFICO A UNA FILA DETERMINADA INCONFUNDIBLE DE UNA TABLA POR EJEMPLO: UN CLIENTE SI ESTUVIÉRAMOS TRABAJANDO CON ESO LA CONCRETA PARA ESOS NECESITAMOS UN CONCEPTO QUE VAMOS A PRESENTAR CONCEPTO DE LA CLAVE.
  • 6. EXPLORANDO VALORES ÚNICOS Y CLAVES PRIMARIAS EN BASE DE DATOS CASI TODAS LAS TABLAS DE UNA BASE DE DATOS REQUERIRÁN DE UNA CLAVE LA CLAVE ES UNA MANERA DE IDENTIFICAR UNA SOLA FILA EN PARTICULAR SE CREAN TÍPICAMENTE UNA COLUMNA Y TENDRÁ UN VALOR ÚNICO GARANTIZADO PARA CADA UNA DE LAS FILAS QUE PODEMOS HACER EN CUALQUIER SISTEMA EN BASE DE DATOS. UNA TABLA CONTIENE UNA COLUMNA CON VALOR ÚNICO Y UNA COLUMNA CON VALOR NO ÚNICO VALOR ÚNICO: SIGNIFICA QUE SI TIENE UN MILLÓN DE CIFRAS DENTRO DE LA COLUMNA NO PODRÍA HABER REPETICIONES POR EJEMPLO: NO PODRÍA INTRODUCIR DOS VECES EL NÚMERO 153 EN SU LUGAR TENDRÍA QUE INTRODUCIR OTRO VALOR EN CAMBIO LA COLUMNA DE VALORES. VALOR NO ÚNICO: PUEDE CONTENER TANTO VALORES COMO SEA NECESARIO INCLUSO NO HAY NINGÚN PROBLEMA EN TENER VALORES REPETIDOS DEFINIENDO RELACIONES ENTRE TABLAS DESDE LUEGO CUALQUIER BASE DE DATOS COMIENZA CON LA DEFINICIÓN DE LAS TABLAS PERO LA CAPACIDAD DE AGREGAR DE BIENES LA GRAN PARTE DE DATOS ESTÁN CONECTADOS DE ALGO NATURAL EJEMPLO: TENGO UNA TABLA DE CLIENTES, Y UNA TABLA DE PERIODO, UNA TABLA DE PRODUCTO REALMENTE ESTAS TABLAS ESTÁN VINCULADAS YA QUE FINALMENTE CUANDO UN CLIENTE HAGA UN PEDIDO DE PRODUCTOS, UN PEDIDO CON QUE TIENE UN CLIENTE SUS PEDIDOS Y LOS PRODUCTOS QUE ESTÁN INCLUIDOS Y LOS PRODUCTOS GENERALMENTE BAN A ACABAR DENTRO DE LA TABLA DE PEDIDOS EN UN DIAGRAMA DE BASES DE DATOS ESTO PODRÍA PASARSE DE VARIAS MANERAS DIFERENTES POR EJEMPLO: CLIENTE Y PEDIDO TENDRÍAMOS UNA RELACIÓN DE UNO A MUCHOS MUCHAS PERSONAS USAN ESTE SÍMBOLO PATA DE GALLO PARA MOSTRAR EN QUÉ DIRECCIÓN VA LA RELACIÓN. EN OTRAS OCASIONES PUEDE QUE LLEVE EL SÍMBOLO DE 1 Y ∞ INFINITO ES DECIR DE UNO A MUCHOS EN OTRAS SITUACIONES PUEDE SER EN DEPARTAMENTOS E EMPLEADOS, O PUEDA QUE SE REPITA ESTE ESQUEMA DENTRO DE CLASE Y ESTUDIANTE. UN ELEMENTO EQUIVALE A MUCHOS EN LA PARTE IZQUIERDA DE ESTA MANERA POR TANTO DE ESTA PUEDE AVER VARIOS ESTUDIANTE DENTRO DE UN DEPARTAMENTO PUEDA HABER VARIOS EMPLEADOS, DENTRO DE CADA CATEGORÍA GENERA MUCHO MÁS PEDIDOS LOS CLIENTES GENERAN
  • 7. DESCRIBIENDORELACIONES DE MUCHOS A MUCHOS LA RELACIÓN MÁS COMÚN DE MUCHOS A MUCHOS ENTRE LAS TABLAS DE UNA BASE DE DATOS RELACIONADAS, HA BESES SEA NECESARIA DEFINIR UNA RELACIÓN DE MUCHOS A MUCHOS. AUNQUE UNA GESTIÓN DE BASE DE DATOS NO TENGA SOPORTE DIRECTO VAMOS A USAR UNA SOLUCIÓN INTERMEDIA COMO SIEMPRE NOS CENTRAMOS A UN PROBLEMA DE NEGOCIO TENEMOS QUE TENER UNA SOLUCIÓN ABSTRACTA Y TECNOLÓGICAS TRANSACCIONES Y EL TEST ACID CUANDO TRATAMOS DE INTRODUCIR O MODIFICAR DATOS A NUESTRAS BASES DE DATOS A MENUDO TENEMOS QUE TRABAJAR LAS ACCIONES UNA TRANSACCIÓN ES UNA COSA MUY IMPORTANTE DENTRO DEL MUNDO DE BASE DE DATOS Y PARA ENTENDERNOS MEJOR QUE PODEMOS HACER ES PENSAR COMO ARRIAMOS UNA TRANSACCIÓN EN UN MUNDO REAL CUANDO HABLAMOS DE UNA TRANSACCIÓN NOS REFERIMOS AUN ACTO COMERCIAL POR EJEMPLO :LE DA €15 A UN LIBRERO SE LO DA POR EL LIBRO ESA ES LA TRANSACCIÓN LO IMPORTANTE ES QUE LA TRANSACCIÓN ES ESPERAR EL LIBRO Y SI TE ENTREGA EL LIBRO ESPERAS ENTREGAR EL DINERO O BIEN SUCEDE DOS COSAS O NINGUNA DE ELLAS SUCEDERÁ POR TANTO EN UN SISTEMA DE COMPUTACIÓN ES LO CLÁSICO DE TRANSACCIÓN ES UN SISTEMA BANCARIO. UNA TRANSACCIÓN DEBE SER ATÓMICA, CONSISTENTE, AISLADA Y DURABLE ATOMICA: ES UNA PALABRA GRIEGA ATOMO A UNA UNIDAD INDIVISIBLE SE REFIERE A LA IDEA CENTRAL DE QUE ESTA TRANSACCIÓN DEBE OCURRIR COMPLETAMENTE O NO OCURRIR EN ABSOLUTO SI HAY DOS PASOS PARA LA TRANSACCIÓN O 20 PASOS TODOS ESTÁN CONTENIDO Y O BIEN SE COMPLETA EN OTRO SE COMPETA CON ÉXITO VUELVE AL ESTADO ORIGINAL NO EXISTE EN CONCEPTO DE TRANSACCIÓN SE PRODUZCA A MITAD SI POR ALGÚN MOTIVO SE PIERDA UNA TRANSACCIÓN POR UN CORTE DE ENERGÍA POR QUEDARSE SIN ESPACIOS PARA ALBERGAR UN MEMORADO O UN RE APLICACIÓN NO IMPORTA SEA CUAL SEA EL ERROR LA REGLA ATÓMICA ES LA REGLA QUE TODO OCURRE O NADA OCURRE.
  • 8. CONSISTENTE COHERENTE: SIGNIFICA QUE CUALQUIER TRANSACCIÓN DEBE DE TENER UN ESTADO BALIDO AL PRINCIPIO Y DEJAR OTRO ESTADO BALIDO AL FINAL. AISLADA: LA TRANSACCIÓN ESTÁ BLOQUEANDO ESENCIALMENTE EN ESE MOMENTO LOS DATOS QUE PARTICIPAN EN LA TRANSACCIÓN POR TANTO EL SISTEMA DEBE BLOQUEAR LOS DATOS MIENTRAS ESTA ESTÁN DENTRO DE LA TRANSACCIÓN PARA QUE NINGUNA OTRA PARTE DEL SISTEMA LOS PUEDA UTILIZAR. DURABLE: DURABILIDAD ES PARA QUE LA TRANSACCIÓN SEA ROBUSTA ESTO QUIERE DECIR QUE TODO ESTO SUCEDE Y QUE LA TRANSACCIÓN SEA SUCEDIDO CON ÉXITO EN ESE CASO SE GARANTIZA LA OPERACIÓN. INTRODUCCION AL MODELO DE BASE DE DATOS PLANIFICANDO TUS BASES DE DATOS COMO PODEMOS DISEÑAR UNA BASE DE DATOS INDEPENDIENTES DE BASE DE DATOS QUE ESTÉS UTILIZANDO. TENER UN ESQUEMA: PARA PODER REFLEJAR UNA PARTE DE LAS TABLAS Y CAMPOS QUE BAN A PARTICIPAR DENTRO DE LA BASE DE DATOS, PARA DISEÑAR Y CREAR. NO DEBES EMPEZAR EN LA BASE DE DATOS: UN ERROR MUY COMÚN EN ABRIR DIRECTAMENTE EL SOFTWARE DE BASE DE DATOS EL CLIENTE DE VISIÓN VISUAL QUE NOS DA ACCESO A LA BASE DE DATOS Y EMPEZAR A CREAR TABLAS Y EMPEZAR A CREAR CAMPOS DIRECTAMENTE DENTRO DE SUS SOFTWARE Y ESTO GENERALMENTE ES UNA IDEA BASTANTE MALA. NESECITAMOS REALIZAR PLANIFICACCION: ES ALGO QUE NO SE PUEDE VISUALIZAR Y ES ALGO QUE NO SE PUEDE IMPROVISAR Y LUEGO CABIAR DE IDEA PUEDE TENER CONSECUENCIAS BASTANTES DESASTROSAS POR TANTO LOS CAMBIOS SON POSIBLES, PERO DOLOROSOS Y POR TANTO TENEMOS QUE EVITARLOS SIEMPRE QUE PODAMOS VENTAJAS: LAS BASES DE DATOS YA TIENEN CIERTO TIEMPO Y EL MODELO DE BASE DE DATOS REGIONAL QUE CONOCEMOS TIENE UN CIERTO ENTORNO QUE TIENE UN ENTORNO DE UNOS 30 Y 40 AÑOS, ESTO QUIERE DECIR QUE EN CUALQUIER CASO EXISTEN MECANISMO QUE PUEDEN REALIZAR MODIFICACIONES A UNA BASE DE DATOS QUE YA A SIDO CREADA PERO SI SE PUEDE REALIZAR MODIFICACIONES LO ÚNICO QUE QUIERE ES MODIFICAR UNA BASE DE DATOS Y TENER QUE MODIFICARLA AL CABO DE UN AÑO O DOS SIMPLEMENTE PODER MODIFICAR HAY CRIC PUEDEN DEJAR DE FUNCIONAR LO CUAL PUEDE DEJAR LA APLICACIÓN ORIGINAL EN UN ESTADO DESASTROSO LO IMPORTANTE SIEMPRE, CUANDO DISEÑAMOS UNA BASE DE DATOS ES REALIZAR ALGO DE PLANIFICACIÓN PREVIA
  • 9. PLANIFICANDO TU BASE DE DATOS ¿CUÁL ES PUNTO REALMENTE IMPORTANTE DE TU BASE DE DATOS? ES DECIR ¿PARA QUE SIRVA TU BASE DE DATOS? ESTAS CONSTRUYENDO UNA BASE DE DATOS PARA APOYAR UNA NECESIDAD YA SEA UNA NECESIDAD DE ESCRITORIO, UNA APLICACIÓN WEB, O UNA APLICACIÓN MÓVIL. ESTAMOS CONSTRUYENDO UNA BIBLIOTECA EN LÍNEA SERÍA DEMASIADO FÁCIL PEDIR ALGO ASÍ: ”ES UNA BASE DE DATOS PARA ALMACENAR INFORMACIÓN DE PRODUCTOS Y COMPRAS.” DENTRO DE ESA BIBLIOTECA O DENTRO DE ESA LIBRERÍA MIENTRAS ESTO PUEDE SER CIERTAS CUESTIONES NOS DEBERÍAMOS PREGUNTAR CUÁL ES LA INTENCIÓN DE ESA LIBRERÍA O ESA BIBLIOTECA O ES UN SITIO WEB, ES UNA APLICACIÓN DEBIDO COMO CREZCA ESA APLICACIÓN EN LOS PRÓXIMOS AÑOS DEPENDERÁ DE CÓMO PLANTEES COSAS AHORA POR TANTO NO HACE FALTA TENER EN CUENTA QUE SEA DEMASIADO COMPLEJO. “AYUDAMOS A LOS ACOMPAÑANTES A ENCONTRAR LIBROS DESCUBRIR LAS OPCIONES DE OTROS LECTORES COMPRAR Y SEGUIR EL ESTADO DE SUS PEDIDOS, CONTRIBUIR CON SUS PROPIAS OPCIONES, Y SABER QUE OTROS PRODUCTOS LES PODRÍAN GUSTAR, BASÁNDONOS EN LO QUE LES GUSTARÍA A OTROS LECTORES CON GUSTO SIMILARES.” ¿QUE ES LO QUE YA TIENES? ¿QUÉ PARTES SON LAS QUE YA TIENEZ CLARADENTRO DE TU MODELO DE NEGOSIOS EN DEFINITIVA SON LAS QUE BAN A DERIBAR EN LA BASE DE DATOS? ELEMENTOS FISICOS: LAS BASES DE DATOS TIENEN COMO OBJETIVOS SOPORTAR COMO ELEMENTOS CUÁNTICOS, ES DECIR EL OBJETIVO MUCHAS BESES CONVERTIDO EN VEGETAL COMO ELEMENTO FÍSICOS EXISTENTES TALES COMO FORMULARIOS, HOJAS DE PERIÓDICO, FACTURAS. GENTE Y EXPERIENCIA: ES REALIZAR LA VERSIÓN DIGITAL DE LOS PROCESOS QUE ESTÁN LLEVANDO GENTES QUE YA TIENEN UNA DETERMINADA EXPERIENCIA DENTRO DE UN SECTOR. UNA BASE DE DATOS YA EXISTENTE: MUCHAS BESE LO QUE HACEMOS ES DIGITALIZAR UNA BASE DE DATOS YA EXISTENTE EN MODO FÍSICO INCLUSO MUCHAS OTRAS BESES MUY COMUNES COMO OTROS DÍAS CONSISTE EN TRABAJAR DE ESAS QUE DURANTE AÑOS ESTÁN TRABAJANDO EN BASES DE DATOS REALIZADAS EN HOJAS DE CÁLCULO, LA MAYORÍA QUIEREN DAR UN GRAN SALTO MÁS ASÍA DELANTE.
  • 10. EN DEFINITIVA SOLO TENEMOS QUE HACER UNA BASE DE DATOS EN DEFINITIVA CUANDO AYA UNA HOJA DE CÁLCULO. ENTIDADES: LAS BASES DE DATOS RELACIONALES SE COMPONEN DE UNA O MÁS TABLAS, LAS TABLAS SOLAMENTE SON COMPONENTES BÁSICOS DE UNA BASE DE DATOS. IDENTIFICANDO COLUMNAS Y TIPOS DE DATOS LAS ENTIDADES SE CONVERTIRÍAN EN NUESTRAS TABLAS Y LOS ATRIBUTOS DE NUESTRAS ENTIDADES SE CONVERTIRÍAN EN LAS COLUMNAS DE LA BASE DE DATOS. TABLA EMPLEADO: TENDRÍAMOS QUE HACER UNA COLUMNA PARA PRIMER NOMBRE, APELLIDO, FECHA ALTA, TIPO SALARIO, DIRECCION1, DIRECCION2, CIUDAD, ESTADO, CP, EMAIL, FOTO, (ETC.) PORQUE SEPARAR TANTO AL DEFINIR LAS COLUMNAS, ES PARA PODER REALIZAR MÁS ADELANTE TANTAS BÚSQUEDAS COMO SEA NECESARIO. ELIGIENDO CLAVES PRIMARIAS EN TABLAS CADA TABLA TIENE QUE TENER UN IDENTIFICADOR PRINCIPAL, EXCLUSIVO, UNA FILA INDIVIDUAL DONDE NO PUEDA HABER DUPLICADO DONDE NO HUBIERA HABER CONFUSIÓN POR TANTO SI TENEMOS UNA TABLA DE EMPLEADO TENDRÍA QUE HABER UNA IDEMPLEADO SI TENEMOS UNA TABLA DE CLIENTES TIENE QUE HABER UN IDCLIENTES Y SI TENEMOS ISDN NOS LLEVA A UN LIBRO ESPECÍFICO O TENEMOS QUE DECIR QUE TALVEZ ESA ES LA CLAVE PRIMARIA. USANDO CLAVES COMPUESTAS ESTO ES CUANDO UN VALOR NO ESPECIFICA ÚNICA A UNA FILA PERO LOS VALORES SÍ QUE LOS HACEN POR TANTO LES GUSTARÍA COMBINAR DOS COLUMNAS PARA CREAR UNA CLAVE PRINCIPAL.
  • 11. MODELO DE BASES DE DATOS RELAIONES CREANDO RELACIONES SI TENEMOS UNA SERIE DE DATOS EN UNA SERIE DE TABLAS INDIVIDUALES SABEMOS QUE MUCHAS DE ESTAS TABLAS SE VAN A NECESITAR ENTRE SI POR TANTO SI EMPEZAMOS A DESGLOSAR DIAGRAMA DE ER SIMPLEMENTE TRATAMOS DE EMPEZAR Y ENTABLAR ALGÚN TIPO DE RELACIONES. OPCIONES DE RELACIÓN (CARDINALIDAD) SON TRES TIPOS: UNO-A-UNO UNO –A-MUCHOS MUCHOS-A-MUCHOS EL ORDEN NATURAL DEL DISEÑO DE BASES DE DATOS EN PRIMER LUGAR DESHUESAMOS LAS ENTIDADES MÁS ADELANTES SE VAN A CONVERTIR EN TABLAS, A PARTIR DE AHÍ LO QUE HACEMOS ES CREAR LAS BASE DE DATOS LOS ATRIBUTOS DE ESTAS ENTIDADES Y ATRIBUTOS SE VAN A CONVERTIR EN LAS COLUMNAS INCLUSO LO QUE AREMOS ES ESPECIFICAR CUÁLES SERÁN LAS CLAVES PRIMARIAS Y NO SE PUEDE ESTABLECER LA RELACIÓN, QUE NO TENGAMOS LAS CLAVES PRIMARIAS POR TANTO EMPEZAMOS AGREGAR TABLAS EN LAS QUE BALEN ESTAS RELACIONES DE UNO A UNO COMO A MUCHOS. DEFINIENDO RELACIONES DE UNO A MUCHOS EL TIPO MÁS COMÚN DE CARDINALIDAD DENTRO DE UN SISTEMA DE GESTIÓN DE BASE DE DATOS RELACIONAL ES DE UNO A MUCHOS QUE TAMBIÉN DEBEMOS DESCRIBIR MUCHOS A UNO DEPENDE UN POCO QUE LADO DE RELACIÓN LO MIREMOS. EXPLORANDO DE UNO A MUCHOS ES POSIBLE CREAR RELACIONES UNO A UNO PERO REALMENTE ES INUSUAL EXPLORANDO RELACIONES DE UNO A UNO. EXPLORANDO RELACIONES DE MUCHOS A MUCHOS MOSTRAR UNA TABLA DE EJEMPLOS DE ESTUDIANTES PUEDO AÑADIR UNA COLUMNA DE IDCLASE LO QUE TENGO QUE HACER ES AÑADIR CLASE Y ESTUDIANTES A LA TABLA VINCULADA A LA TABLA LLAMÉMOSLA TABLA ADJUNTA UNA TABLA DE UNIÓN, UNA TABLA DE PUENTEO, UNA TABLA DE PUENTEO, UNA TABLA DE REFERENCIA CRUZADA.
  • 12. ENTENDIDO LAS REGLAS DE LAS RELACIONES Y LA REFERENCIAL ES LA RELACIÓN QUE SE ESTABLECE EN VARIAS TABLAS. PARA UN CLIENTE ES IMPORTANTE POR TODOS LOS PEDIDOS PERO IGUAL DE IMPORTANTE ES LA IDEA UNA RELACIÓN ES IGUAL QUE UNA REGLA UNA RESTRICCIÓN ENTRE UNA FILA DE N CLIENTE Y UNA FILA QUE NO EXISTE DENTRO DE LA TABLA DE PEDIDO ASI DE ESTA MANERA NO SERÍA POSIBLE A SER UNA TABLA DE PEDIDOS UN NUEVO REGISTRO QUE FUERA REGISTRO DE REFERENCIA, CUANDO REALMENTE UN CLIENTE NO EXISTE. INTEGRIDAD REFERENCIAL HAY DOS LUGARES QUE PRINCIPALMENTE VAMOS A IMPACTAR LA VISIÓN DE NUEVAS FILAS VAMOS A REESCRIBIR ES LA ACTUALIZACIÓN EN ESTE CASO POR TANTO NO PUEDO REALIZAR UNA ACTUALIZACIÓN SOBRE EL LÍDER DE PEDIDOS. ELIMINACIÓN EN CASCADA PUEDE HABER VARIAS ELIMINACIONES EN CASCADA LA PRIMERA DE ELLA ES CUANDO OCURRE CUANDO INTENTO ELIMINAR EL CLIENTE. ANULACION EN CASCADA AL ELIMINAR UN CLIENTE PERO POR LAS RAZONES QUE SEA RAZONES RELACIONADAS CON LA CONTABILIDAD NO QUIERO ELIMINAR LAS FILAS CORRESPONDIENTES A ESE PEDIDO DEL CLIENTE PERO NO EL PEDIDO. INACCION ES INTENTAR ANULAR LOS USUARIOS X PERO PARA ANULAR LOS USUARIOS X ESTARÍA INTRODUCIENDO UNA FALTA DE INTEGRIDAD REFERENCIAL PORQUE EXISTIRÍAN UNAS LÍNEAS DE PEDIDO QUE NO CORRESPONDERÍA A NINGÚN CLIENTE LO QUE SE HACE ES ANULAR EL INTENTO DE ANULACIÓN Y PARA ANULAR UN CLIENTE SERIA CERRAR UN USUARIO DIFERENTE LAS LÍNEAS DE PEDIDO O CUALQUIER OTRO REGISTRO DENTRO DE ESTE SISTEMA REFERENTE EN CONCIENCIA A ESTE ELEMENTO. MODELADO DE BASES DE DATOS OPTIMIZACIÓN ENTIENDO LA NORMALIZACIÓN DE BASE DE DATOS ESTE ES UN PROCESO DONDE SE TOMA UN DISEÑO DE LA BASE DE DATOS Y SI APLICA UN CONJUNTO DE CRITERIOS FORMALES LAS REGLAS LLAMADAS FORMAS NORMALES ESTAS SE DESARROLLARON DENTRO DE 40 AÑOS PRINCIPALMENTE POR EL PADRE DE LAS CLASES DE DATOS FINALES.
  • 13. PRIMERA FORMA NORMAL= 1NF SEGUNDA FORMA NORMAL=2NF TERCERA FORMA NORMAL=3NF “LA BASE DE DATOS CUMPLIRÁ CON LA TERCERA FORMA NORMAL CUANDO CUALQUIER ATRIBUTO NO PRIMARIO DE R SEA NO TRANSITIVAMENTE DEPENDIENTE (P.E DIRECTAMENTE DEPENDIENTE) DE CADA CLAVE CANDIDATA DE R…” PRIMERA RAGLA FORMAL LA PRIMERA REGLA NORMAL DICE QUE SOLO DEBEMOS CONTENER UN VALOR QUE NO DEVEN AVER GRUPOS NI REPETICIÓN SEGUNDA REGLA FORMAL CUALQUIER CAMPO NO CLAVE DEBERÁ SER DEPENDIENTE DE TODA LA CLAVE PRIMARIA TERCERA REGLA FORMAL NORMAL NINGÚN CAMPO NO CLAVE DEPENDE DE NINGÚN OTRO CAMPO NO CLAVE DESNORMALIZACION DE BASES DE DATOS NUESTRO DISEÑO DEBE DE PASAR ATREVES DE LAS FORMAS NORMALES PERO NO SOLO EXISTEN ESTAS SI NO OTRAS PERO CUMPLIR CON LAS PRIMERAS TRES ES LO MÁS HABITUAL MODELADO DE BASES DE DATOS PETICIONES
  • 14. CREANDO PETICIONES SQL ES EL VOCABULARIO COMPARTIDO ENTRE LAS BASES DE DATOS RELACIONALES ESTE LENGUAJE NO ES PARA PROGRAMACIÓN DE PROPÓSITO GENERAL ES UN PEQUEÑO LENGUAJE CURAMENTE CENTRADO PARA BASES DE DATOS LO BUENO ES QUE CON UN PEQUEÑO PUÑADO DE PALABRAS CLAVE VAS A HACER EL 90 POR CIENTO DE TODO LO QUE PUEDAS NECESITAR EN SQL HAY MUCHAS PALABRAS CLAVE PERO HAY UNA QUE VAS A UTILIZAR POR ENCIMA DE LAS DEMÁS Y ESTA ES SELECT ES UNA PALABRA QUE VAMOS A UTILIZAR PARA SELECCIONAR O LEER INFORMACIÓN DE UNA DE LAS TABLAS DE NUESTRAS BASES DE DATOS LO QUE ASEMOS ES PREGUNTAR A LAS BASES DE DATOS Y ESPERAMOS QUE NOS DÉ UN RESPUESTA TÉCNICAMENTE LA MEJOR PALABRA ANTES QUE PREGUNTA ES CONSULTA QUIERE ES LA PALABRA QUE SE USA PARA INDICAR QUE LE ESTAMOS PREGUNTANDO ALGO A UNA BASE DE DATOS SELECT SI QUIERES SELECCIONAR ALGUNOS DE LOS DATOS DE MI BASE DE DATOS VOY A TENER BARIAS TABLAS BARIAS COLUMNAS EN CADA TABLA VOY A DECIR QUE PARTE ESPECIFICA DE LA BASE DE DATOS ESTOY INTERESADO ES ESCANEAR EL FORMATO ES EL SIGUIENTE: SELECT COLUMNAS FRON TABLA LO QUE HACEMOS ES ELEGIR UNA COLUMNA COMNCRETA DENTRO DE UNA TABLA CONCRETA COLUMNA HACE REFERENCIAS A LA COLUMNA TABLA HACE REFERENCIA AL NOMBRE DE TABLA POR EJEMPLO VOY A DECIR QUE QUIERO SELECCIONAR EL NOMBRE DE LA TABLA EMPLEADO SELECT NOMBRE FROM EMPLEADO Y ESTO LO QUE ARIA ES DEVOLVERME LOS NOMBRES DE LA TABLA EMPLEADO YA SEA QUE TENGAMOS MIL REGISTROS O CUALQUIER CANTIDAD
  • 15. SI QUEREMOS RECUPERAR MÁS DATOS SOLO SEPARAMOS POR UNA COMA SELECT NOMBRE, APELLIDO FROM EMPLEADO Y EL RESULTADO SERÁ OB TENER LA LISTA DE NOMBRE Y LA LISTA DE APELLIDOS EN ALGUNAS OCASIONES NO PONDREMOS COMA SI NO QUE PONDREMOS * QUE ESTE SIRVE PARA VISUALIZAR TODO LO QUE TENEMOS DENTRO DE UNA TABLA UNA FORMA DE RESTRINGIR NO ES RESTRINGIR LOS CAMPOS SI NO RESTRINGIR CUANTOS REGISTROS QUEREMOS DEVOLVER LO USAMOS CON LA CLAUSULA WHERE ES LA CONDICION DONDE PUEDO DECIR X EJEMPLO DONDE EL APELLIDO ES = ´GREEN’ O BIEN DONDE EL IDEEMPLEADO = 474 O BIEN INCLUSO DONDE EL SALARIO >50000 ¿QUÉ PASA CON LAS MAYÚSCULAS Y CON LAS MINÚSCULAS IMPORTAN? EN SQL NO IMPORTAN EN TÉRMINOS GENERALES POR LO TANTO PODRÍAMOS ESCRIBIR SELECT SIN NECESIDAD DE USAR MAYÚSCULAS PERO LOS DESARROLLADORES HAN ADAPTADO A ESCRIBIR LAS PALABRAS CLAVES EN MAYÚSCULAS Y ESCRIBIR LAS COLUMNAS O EL NÚMERO DE LA BASE DE DATOS EN MINÚSCULAS
  • 16. SQL TAMBIÉN NO ES SENSIBLE A LOS ESPACIOS EN BLANCOS QUIERE DECIR AL NOMBRE DE LAS COLUMNAS UNA SENTENCIA COMPLETA DE SQL DEBE DE TERMINAR CON ; USANDO CLAUSA WHERE AL ESCRIBIR UNA CONSULTA BASICA MUCHAS VECES LA PARTE DE SELECT Y FROM SON BASTANTES FÁCILES ESCRIBIR LA CLAUSULA WHERE CONTRA UNA TABLA EN PARTICULAR ES UNH POCO COMO ESCRIBIR UNA SENTENCIA IF EN UN LENGUAJE DE PROGRAMACIÓN CONVENCIONAL LO QUE ESTAMOS TRATANDO DE ESCRIBIR ES UNA SITUACIÓN VERDADERA O FALSA ASI QUE KIERO LLAMAR A ESA TABLA DONDE EN ESTE CASO BOY A ESPECIFICAR QUE SOLO KIERO SELECCIONAR SOLO AQUELLAS COINCIDENCIAS CUYO APELLIDO SEA EXACTAMENTE IGUAL QUE GREEN SELECT * FROM EMPLEADO WHERE APELLIDO= GREEN SI LO QUE SE IGUALA ES UN TEXTO DEVE DE IR CON COMILLAS PERO LAS USA SIMPLES NO DOBLES SI NLO QUE SE ESTA COMPARANDO ES UN NUMERO NO NECESITA COMILLAS PARA COMBINAR CON LA CLAUSULA WHERE PODEMOS USAR ADN EJEMPLO 1 WHERE SALARIO>50000 ADN DEPARTAMENTO = ‘VENTAS’ EJEMPLO 2 WHERE SALARIO>50000 OR DEPARTAMENTO = ‘VENTAS’ OR LO QUE HACE ES COMPROBAR QUE SE CUMPLAN LAS CONDICIONES O ALMENOS QUE SE CUMPLA UNA
  • 17. SI QUIERO PROBAR QUE DEPARTAMENTO ESTA DENTRO DE MARKETING Y VENTAS EJEMPLO: SELECT * FROM WHERE DEPARTAMENTO IN (´MARKETING´, ‘VENBTAS’); SI BUSCAMOS ALGO MAS FLEXIBLE PODEMOS UTILIZER LA PALABRA LIKE LO QUE HACE ES BUSCAR DENTRO DE APELLIDO BA A BUSCAR AQUELLOS QUE EMPIECEN POR GREEN EJEMPLO: SELECT * FROM EMPLEADO WHERE APELLIDO LIKE ‘GREEN%’; SILO QUE ESTAMOS BUSCANDO ES UNA SOLA LETRA PODEMOS USAR EL _ EJEMPLO: SELECT * FROM EMPLEADO WHERE APELLIDO LIKE ‘SM_TH’; HAY OTRO BALOR ESPECÍFICO QUE SE LLAMA NULL SELECT * FROM EMPLEADO WHERE INICIAL = NULL; ESTE ELEMENTO CONVIERTE UN VALOR A NADA ES DECIR UN VALOR BASIO PERO ES MEJOR EN ESTE CASO COLOCAR IS NULL PORQUE NO QUEREMOS IGUALAR A UN VALOR VACÍO SI NO QUE LO QUEREMOS PREGUNTAR SI ES UN VALOR VACÍO
  • 18. ORDEN DE LOS RESULTADOS BASES DE DATOS LA FORMA EN LA QUE LA BASE DE DATOS DEVOLVERÁ LOS DATOS DE LA CONSULTA NO SIEMPRE SERÁ DE LA MANERA QUE NOSOTROS QUEREMOS SEECT DESCRIPCIÓN, PRECIO, COLOR FROM PRODUCTO; ORDER BY PRECIO DESC; DESC SE UTILIZA DE MAYOR A MENOR LO QUE QUIERO ES QUE ME APAREZCA EL PRECIO MAYOR ORDER BY SE UTILIZA PARA DAR UN ORDEN A LAS TABLAS OTRO EJEMPLO SELECT* FROM EMPLEADO WHERE SALARIO > 50000 ORDER BY APELLIDO, NOMBRE; EN ESTE EJEMPLO SELECCIONO LOS EMPLEADOS QUE GANA MÁS DE 50000 Y VA A ORDENAR NOMBRES Y APELLIDOS USANDO FUNCIONES AGREGADAS POR LAS BASES DE DATOS ACONTINUACION TENEMOS UNAS CUANTAS PALABRAS BAJO SQL Y LAS TENEMOS POR EL NOMBRE DE FUNCIONES AGREGADAS SELECT COUNT (*) FROM EMPLEADO CON ESTA FUNCION LO QUE HARA ES CONTAR E NUMERO DE EMPLEADOS QUE TIENE SELECT COUNT (*) FFROM EMPLEADO WHERE SALARIO > 50000 CON ESTA FUNCION LO QUE HARA ES CONTAR E NUMERO DE EMPLEADOS QUE TIENE Y TAMBIEN DECIR CUANTOS EMPLEADOS GANAN MAS A 50000
  • 19. SELECT * FROM PRODUCTO ORDER BY PRECIO DESC; TODO EL PRODUCTO ORDENADO DE MANERA DESENDIENTE SELECT MAX (PRECIO) FROM PRODUCTO; EN ESTE PERMITE SACAR E VALOR MAXIMO DEL PRECIO SELECT MAX (PRECIO) FROM PRODUCTO; EN ESTE PERMITE SACAR E VALOR MINIMO DEL PRECIO SELECT AVG (PRECIO) FROM PRODUCTO; EN ESTE PERMITE SACAR E VALOR PROMEDIO DEL PRECIO SELECT SUM (TOTAL) FROM PEDIDO; WHERE IDCLIENTE EN ESTE PERMITE SUMAR LOS VALORES PERO PREGUNTA QUE ES LO QUE QUIERE SUMAR JUNTANDO TABLAS DE BASES DE DATOS AQUÍ SE TRABAJARA CUANDO REALMENTE NO SE ESTÁ BUSCANDO INFORMACIÓN EN UNA SOLA TABLA SI NO EN 2 SELECT NOMBRE, APELLIDO, FECHAALTA, IDDEPTO FROM EMPLEADO ESTE ES UN PROCESO NORMAL SOLO PARA UNA TABLA PARA REALIZAR UN CRUCE DE DATOS VAMOS A UTILIZAR DE ESTA MANERA: SELECT NOMBRE, APELLIDO, FECHAALTA, IDDEPTO FROM EMPLEADO JOIN DEPARTAMENTO
  • 20. MODELADO DE BASES DE DATOS INDEXADO Y OPTIMIZACIÓN CREANDO INDICES CUANDO UNA BASE DE DATOS COMIENZA A CRECER ES DE SUMA IMPORTANCIA CREAR UN ÍNDICE UN ÍNDICE LO QUE HACE ES PERMITIRNOS ENCONTRAR MÁS RÁPIDO UN CONTENIDO SE PUEDE ORDENAR DE MANERA QUE SEA POR ORDEN ALFABÉTICO ES DECIR SI LO ORDENAN POR APELLIDO ORDENAR DE LA A (A LA Z) Y SI NECESITAS UN APELLIDO CON H VAS DIRECTAMENTE A LA H Y BUSCAS LO QUE NECESITA ES COMO UN LIBRO QUE TIENE MUCHAS PÁGINAS Y DESEAS SABE RUN POCO ACERCA DE ALGO Y MIRAS EL ÍNDICE CONFLICTOS Y AISLAMIENTOS IDEA DEL AISLAMIENTO ESTA IDEA SE DA CUANDO EL USUARIO ESTA INTERACTUANDO CON LA BASE DE DATOS COMO PODEMOS EVITAR QUE SE CRUCEN UNOS CON OTROS PROCESOS ALMACENADOS FORMA BÁSICA DE REALIZAR UN PROCESO ALMACENADO CRÉATE PROCEDURE ALTOSALARIO() SELECT * FROM EMPLEADO WHERE SALARIO > 50000 ORDER BY APELLIDO, NOMBRE END; CALL ALTOSALARIO() LA PALABRA CLABE CALL ALTOSALARIO() CON ESTO PODREMOS UTILIZARLO MAS TARDE PROCEDIMIENTO MEDIANTE PARÁMETROS CREATE PROCEDURE EMPLEADOSENDEPTO (IN DEPTT VARCHAR (50)) SELECT*FROM EMPLEADO WHERE DEPARTAMENTO = ‘VENTAS’ ORDER BY APELLIDO, NOMBRE END
  • 21. ATAQUE DE INYECCIÓN SQL ES UN ATAQUE BASTANTE TÍPICO CONTRA SITIOS DE INTERNET OPCIONES DE BASES DE DATOS BASES DE DATOS DE ESCRITORIOS LOS MAS CONOCIDOS Y MAS ESCOJIDOS SON MICROSOFT ACCES FILE MAKER ACCES ES UN MOTOR DE BASES DE DATOS QUE ESTA EN TODAS PARTES PORQUE ES PARTE DE LA SUIT DE MICROSOFT OFFICE RAZONES PARA USARLOS INSTALACION SIMPLE FACIL DE USAR PLANTILLAS PARA PRINCIPIANTES HERRAMIENTAS CON INTERFAZ OPCIONES DE REPORTE RAZONES PARA NO USARLOS MUCHOS USUARIOS GRAN CANTIDAD DE DATOS SISTEMAS DE BASES DE DATOS NOSQL COUCHDB MONGODB APACHE CASSANDRA HYPERTABLE HBASE NEO4J BIGTABLE RIAK PROJECT VOLDEMORT REDIS
  • 22. CARACTERISTICAS DE NOSQL NO USAR SQL NO ESTAR BASADO A TABLAS NO ESTAR ORIENTADO A RELACIONES NO SER ACID NO TENER SCHEMA FORMAL ORIENTADAS AL DESARROLLO WEB ORIENTADAS A DESARROLLOS GRANDES A MENUDO DE CÓDIGO ABIERTO GUARDADO DE DOCUMENTOS SE GUARDA UN DOCUMENTO AUTONOMO EN LUGAR DE FILAS Y COLUMNAS RAZONES PARA ESCOGER UNA BASE DE DATOS NOSQL NECESITA UN SCHEMA FLEXIBLE. TIENE GRANDES CANTIDADES DE DATOS VALORAS MAS LA ESCALABILIDAD QUE LA CONSISTENCIA