Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ESCUELA DE INFORMÁTICA
ASIGNATURA:
TECNICAS DE PROGRAMACION I
SECCIÓN: 01
DOCENTE:
Licda.Sandra Maritza Cantarero de Martínez.
INSTRUTOR:
Diego Eliu Valdez larin
INTEGRANTES:
Técnicas de programación
Sábado 16 de noviembre del 2019
INDICE
B
M
BIBLIOGRAFÍA: · 34
MARCO TEORICO · 7
C
O
CARACTERÍSTICAS DE CADA
OBJETIVOS · 6
GESTOR · 8
Contenido · 3
P
E PROCEDIMIENTOS ALMACENADOS
· 32
ELEMENTOS DE UNA BASE DE
DATOS · 20
Q
G QUE ES UNA BASE DE DATOS · 7
GESTIÓN DE BASE DE DATOS · 8
GESTIÓN DE BASE DE DATOS R
(SGBD) EXISTENTES. · 8
REQUISITOS DE HARDWARE PARA
LA INSTALACIÓN DEL
I SOFTWARE DE BASE DE DATOS ·
26
INTRODUCCION · 5
T
L
TIPOS DE RELACIONES ENTRE
LENGUAJE UTILIZADO · 22
TABLAS · 20
TÉCNICAS DE PROGRAMACIÓN 2
Contenido
INDICE ................................................................................................................................................ 2
INTRODUCCION ................................................................................................................................. 5
OBJETIVOS ......................................................................................................................................... 6
General: ........................................................................................................................................... 6
Específicos: ...................................................................................................................................... 6
MARCO TEORICO ............................................................................................................................... 7
QUE ES UNA BASE DE DATOS........................................................................................................... 7
GESTIÓN DE BASE DE DATOS (SGBD) EXISTENTES. ..................................................................... 8
CARACTERÍSTICAS DE CADA GESTOR ............................................................................................ 8
MySQL ............................................................................................................................................. 9
ORACLE .......................................................................................................................................... 10
PostgreSQL .................................................................................................................................... 11
Microsoft SQL Server..................................................................................................................... 13
MariaDB......................................................................................................................................... 14
SQLite ............................................................................................................................................ 15
MongoDB ...................................................................................................................................... 17
ELEMENTOS DE UNA BASE DE DATOS ......................................................................................... 21
TIPOS DE RELACIONES ENTRE TABLAS ....................................................................................... 21
Relaciones uno a uno: ................................................................................................................... 21
Relaciones uno a varios: ................................................................................................................ 22
Relación varios a varios: ................................................................................................................ 22
LENGUAJE UTILIZADO .................................................................................................................... 23
Sentencia CREATE: ........................................................................................................................ 23
Un comando CREATE muy común es el CREATE TABLE. El uso típico es: ..................................... 24
Sentencia DROP:............................................................................................................................ 24
Sentencia ALTER: ........................................................................................................................... 24
Select: ............................................................................................................................................ 25
Insert: ............................................................................................................................................ 25
Delete: ........................................................................................................................................... 26
Update:.......................................................................................................................................... 26
GRANT: .......................................................................................................................................... 27
REVOKE:......................................................................................................................................... 27
TÉCNICAS DE PROGRAMACIÓN 3
REQUISITOS DE HARDWARE PARA LA INSTALACIÓN DEL SOFTWARE DE BASE DE DATOS. 27
Componente.................................................................................................................................. 27
.NET Framework ............................................................................................................................ 27
Windows PowerShell..................................................................................................................... 29
Software de red ............................................................................................................................. 29
Virtualización ................................................................................................................................. 29
Disco duro ..................................................................................................................................... 30
Unidad ........................................................................................................................................... 30
Monitor ......................................................................................................................................... 31
Internet ......................................................................................................................................... 31
Componente.................................................................................................................................. 31
Memoria ........................................................................................................................................ 31
Velocidad del procesador.............................................................................................................. 31
Tipo de procesador ....................................................................................................................... 31
PROCEDIMIENTOS ALMACENADOS .............................................................................................. 33
¿Cuál es la ventaja de usar un procedimiento almacenado? ....................................................... 33
BIBLIOGRAFÍA: ................................................................................................................................ 35
TÉCNICAS DE PROGRAMACIÓN 4
INTRODUCCION
Los sistemas de información actuales se basan en sistemas de base de datos (SGBD)
que se han convertido en elementos imprescindibles de la vida cotidiana de la sociedad
moderna, por lo cual el presente trabajo nos conlleva a profundizar este tema y a realizar una
base de datos real para poder comprender los conceptos investigados y la manera en cómo se
aplican esos conceptos para hacer una base de datos funcional para el mundo laboral.
Es muy cotidiano encontrarnos con actividades básicas que requieren algún tipo de
interacción con una base de datos, por lo tanto, debemos definir y explicar a fondo el concepto
de esta para dejar claro que los avances tecnológicos han permitido que existan diferentes
gestores de base de datos que ayuden a interactuar mejor con estas distintas actividades que
realizamos.
TÉCNICAS DE PROGRAMACIÓN 5
OBJETIVOS
General:
Definir el concepto de base datos y cada uno de sus gestores existentes para conocer
sus procesos y funcionamiento al momento de implementarlos.
Específicos:
TÉCNICAS DE PROGRAMACIÓN 6
MARCO TEORICO
En el entorno del mercado actual, la competitividad y la rapidez de maniobra de
una empresa son imprescindibles para su éxito. Para conseguirlo existe cada vez una
mayor demanda de datos y, por tanto, más necesidad de gestionarlos. Esta demanda
siempre ha estado patente en empresas y sociedades, pero en estos años se ha
disparado debido al acceso a las redes integradas en Internet y a la aparición de los
dispositivos móviles que también requieren esa información.
Los sistemas de información actuales se basan en sistemas de base de datos (SGBD) que
se han convertido en elementos imprescindibles de la vida cotidiana de la sociedad
moderna.
A diario nos encontramos con actividades básicas que requieren algún tipo de
interacción con una base de datos, por lo tanto, debemos definir y explicar a fondo el
concepto de esta para dejar claro que los avances tecnológicos han permitido que
existan diferentes gestores de base de datos que ayuden a interactuar mejor con estas
distintas actividades que realizamos.
El término de bases de datos fue escuchado por primera vez en 1963, en un simposio
celebrado en California, USA. Una base de datos se puede definir como un conjunto de
información relacionada que se encuentra agrupada ó estructurada.
TÉCNICAS DE PROGRAMACIÓN 7
Es una colección de información organizada de forma que un programa de ordenador
pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de
datos es un sistema de archivos electrónico. Las bases de datos tradicionales se
organizan por campos, registros y archivos. (Pérez Valdés, 2007).
TÉCNICAS DE PROGRAMACIÓN 8
Este sistema gestor de base de datos es el más popular del mundo, su uso en las
aplicaciones web, tales como en WordPres, Joomla y entre otros, Por ser distribuido
bajo la licencia GPL existen diferentes apis o interfaces de programación de aplicaciones
para diversos lenguajes de programación para acceder a la base de datos de MySQL.
Las funciones SQL están implementadas usando una librería altamente optimizada y
deben ser tan rápidas como sea posible. Normalmente no hay reserva de memoria tras
toda la inicialización para consultas.
Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede
consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite
son 1000 bytes (500 antes de MySQL 4.1.2). Un índice puede usar prefijos de una
columna para los tipos de columna CHAR, VARCHAR, BLOB, o TEXT.
TÉCNICAS DE PROGRAMACIÓN 9
Todos los datos se guardan en el conjunto de caracteres elegido. Todas las
comparaciones para columnas normales de cadenas de caracteres son case-insensitive.
ORACLE
Este sistema es de tipo modelo objeto relacional, por el cual es uno de los
gestores de bases de datos más completo como: soporte de transacciones, estabilidad,
escalabilidad y puede correr en los sistemas operativos GNU/LINUX, Windows, Mac y
entre otros.
Comprar la licencia de este sistema de gestor de base datos es muy caro que asciende
varios miles de dólares según a la versión y licencia, sin embargo, existe una versión
express solo para fines auto educativos estrictamente. (Corporation., 2010)
Oracle es la base de datos número uno del mercado ya que posee la capacidad
de soportar todos los datos relacionales estándares, así como también datos
oriundos como XLM, XQuery y WebDAV, JDBC, SQLJ, ODBC.Net, OLE.Net,
ODP.Net
La base de datos está pre configurada lista para ser usada en producción,
completa con espacio automatizado, administración de almacenamiento y de
memoria, Back-up y recuperación automatizada y administrador de estadísticas
automatizado.
TÉCNICAS DE PROGRAMACIÓN 10
Los procedimientos almacenados pueden ser escritos en java PL SQL o
utilizando .Net CLR Support en Oracle Database 10g Release Dos.
La base de datos está pre configurada lista para ser usada en producción,
completa con espacio automatizado, administración de almacenamiento y de
memoria, Back-up y recuperación automatizada y administrador de estadísticas
automatizado.
La base de datos de Oracle 10G Standar Edition es compatible con medianas
industrias. Esto incluye Real Aplication Clúster, para crear protección en contra
de fallos de hardware. Es muy sencillo de instalar y configurar, y viene con su
propio software de clustering.
PostgreSQL
Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX,
Mac OS X, Solaris, Tru64) y Windows 32/64bit.
El código fuente está disponible para todos sin costo. Si su equipo necesita
extender o personalizar PostgreSQL de alguna manera, pueden hacerlo con un
mínimo esfuerzo, sin costos adicionales. Esto es complementado por la
TÉCNICAS DE PROGRAMACIÓN 11
comunidad de profesionales y entusiastas de PostgreSQL alrededor del mundo
que también extienden PostgreSQL todos los días.
TÉCNICAS DE PROGRAMACIÓN 12
Es una base de datos 100% ACID.
Copias de seguridad en caliente (Online/hot backups)
Es Multiplataforma ya que PostgreSQL está disponible en casi cualquier Unix (34
plataformas en la última versión estable), y una versión nativa de Windows está
actualmente en estado beta de pruebas.
Múltiples métodos de autentificación
Soporta distintos tipos de datos: además del soporte para los tipos base, también
soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes
(MAC, IP ...), cadenas de bits, etc. También permite la creación de tipos propios.
Con este sistema de gestión de base datos se puede trabajar en modo cliente y
servidor, para aquellos que quieran utilizar se puede descargar una versión express
para fines educativos, para la cual también existen apis para diferentes de tipos
lenguajes de programación.
Microsoft SQL Server un software propietario de gestión de base de datos creado por
la compañía Microsoft disponible, lamentablemente solo se puede usar en el sistema
operativo Windows, aunque recientemente anunciaron que SQL Server 2016 estaría
disponible para GNU/Linux para este fin de año.
TÉCNICAS DE PROGRAMACIÓN 13
Entre sus características más importantes tenemos:
MariaDB
Para usar este gestor de base datos existen apis para los diferentes lenguajes de
programación e incluso los mismos apis que se usan para MySQL son compatibles.
TÉCNICAS DE PROGRAMACIÓN 14
Entre sus características más importantes tenemos:
SQLite
TÉCNICAS DE PROGRAMACIÓN 15
SQLite es un sistema de manejo de bases de datos de tipo modelo relacional
multiplataforma, este gestor de base datos se diferencia entre los demás que son
cliente-servidor, si no es una biblioteca en proceso que implementa un sistema
autónomo, sin necesidad de hacer configuración. (Cavsi., 2007)
TÉCNICAS DE PROGRAMACIÓN 16
MongoDB
Es una base de datos no relacional, es decir, no utiliza SQL. El nombre viene del
término inglés “humongous” (colosal) y puede ser definida como una base de datos
documental sin esquema, escalable y de alto rendimiento. Algunos especialistas la han
catalogado como la “MySQL de las bases de datos NoSQL”, al ver que es una base de
datos rapidísima, sencilla en la funcionalidad ofrecida y que, como hizo MySQL hace
años, se está ganando la atención de mucha gente.
La mayoría de los gestores base datos no empaquetan un programa que nos permita
administrar nuestra base de datos, para la cual existe un programa llamado Navicat
Premium, es un programa de pago que permite gestionar las bases de datos de forma
mucho más cómoda e intuitiva que se puede usar para los 6 primeros sistemas
gestores base de datos populares que se menciona en este artículo, para MongoDB se
puedes optar a usar el uMongo.
TÉCNICAS DE PROGRAMACIÓN 17
Para almacenar los documentos, utiliza una serialización binaria de JSON, llamada
BSON, que es una lista ordenada de elementos simples. El núcleo de la base de datos es
capaz de interpretar su contenido, de modo que lo que a simple vista parece un
contenido binario, realmente es un documento que contiene varios elementos. Estos
datos están limitados a un tamaño máximo de 4 MB; para tamaños superiores se
requiere del uso de GridFS.
Auto-Sharding
Consultas
Mapeo y reducción
TÉCNICAS DE PROGRAMACIÓN 18
GridFS
Soporte comercial
En resumen, MongoDB ha sido diseñada para que sea rápida (por ejemplo, sustituye
los joins por documentos embebidos), flexible (sin rígidos esquemas de datos),
escalable (utiliza escalabilidad horizontal dejando atrás la vertical), para reducir al
mínimo las labores de administración (replication, disaster recovery, automatic
failover, sharding, load balancing, etc), para que a los programadores les resulte fácil
de aprender y dotada de potentes herramientas de análisis de datos (aggregation
framework). Grandes compañías como Telefónica, Bosch, Coca Cola, CISCO, Leroy
Merlin, ebay, IBM, Forbes y muchas otras, ya utilizan MongoDB, ciudades como Chicago
ya utilizan un sistema compuesto por MongoDB y Hadoop para analizar y tomar rápidas
decisiones con el propósito de conseguir mejorar la calidad de vida de sus ciudadanos.
TÉCNICAS DE PROGRAMACIÓN 19
Entre sus características más importantes tenemos:
Por otra parte, también se debe explicar un poco sobre las características en general de
los gestores de base de datos, esto con el objetivo de poder entender mejor el concepto
de este y sus funciones.
El SGBD deberá velar por la integridad de los datos, para ello incluye varias reglas de
integridad que se comprobarán de forma automática sin necesidad de la intervención
externa de los usuarios o de los programas de aplicación. (EcuRed, 2010)
TÉCNICAS DE PROGRAMACIÓN 20
ELEMENTOS DE UNA BASE DE DATOS
Relaciones uno a uno: En una relación uno a uno, cada registro de la Tabla MATERIA
sólo puede tener un registro coincidente en la Tabla PROFESOR y viceversa.
En este ejemplo se está representando que cada materia solamente puede ser dada por
un profesor.
TÉCNICAS DE PROGRAMACIÓN 21
Relaciones uno a varios: En este modelo se representa que más de un PROFESOR puede
dictar la misma MATERIA.
TÉCNICAS DE PROGRAMACIÓN 22
LENGUAJE UTILIZADO
Un Data Definition Lenguaje o Lenguaje de descripción de datos (DDL) es un
lenguaje de programación para definir estructura de datos. Más tarde fue usado para
referirse a un subconjunto de SQL, pero ahora se utiliza en un sentido genérico para
referirse a cualquier lenguaje formal para describir datos o estructuras de información,
como los esquemas XML.
Sentencia CREATE: Sirve para crear una nueva base de datos, tabla, índice, o
procedimiento almacenado. Una sentencia CREATE en SQL crea un objeto dentro de un
sistema de gestión de bases de datos relacionales (RDBMS). Los tipos de objetos que se
pueden crear dependen del RDBMS que esté siendo utilizado, pero la mayoría soportan
la creación de tablas, índices, usuarios, sinónimos y bases de datos. Algunos sistemas
(como PostgreSQL ) permiten CREATE, y otros comandos DDL, en el interior de una
transacción y por lo tanto puede ser revertido. Otras que se incluyen dentro del DDL,
pero que su existencia depende de la implementación del estándar SQL que lleve a cabo
el gestor de base de datos son GRANT y REVOKE, los cuales sirven para otorgar
permisos o quitarlos, ya sea a usuarios específicos o a un rol creado dentro de la base
de datos.
TÉCNICAS DE PROGRAMACIÓN 23
Un comando CREATE muy común es el CREATE TABLE. El uso típico es:
Sentencia DROP: Sirve para borrar en forma sencilla distintos objetos dentro del
[SGBD] como por ejemplo base de datos, tablas, índices. Su sentencia es:
DROP objeto_a_eliminar;
Para eliminar una tabla de una base de datos tenemos la sentencia DROP TABLE. Con
ella quitamos una o varias definiciones de tabla y todos los datos, índices,
desencadenadores, restricciones y especificaciones de permisos que tengan esas tablas.
Las vistas o procedimientos almacenados que hagan referencia a la tabla quitada se
deben quitar explícitamente con DROP VIEW o DROP PROCEDURE. Su sintaxis es:
Para agregar una columna a una tabla, se debe usar la siguiente sintaxis:
ADD column_name tipo datos Para eliminar una columna en una tabla, se debe
seguir la siguiente sintaxis (algunas bases de datos no permiten borrar columnas)
TÉCNICAS DE PROGRAMACIÓN 24
Ejemplo:
Por otra parte, también tenemos hablar acerca del Lenguaje de Manipulación de Datos
donde se sustituye la palabra columna por el nombre del campo a consultar y la palabra
tabla por el nombre de la tabla que contiene el campo mencionado.
insert into usuario (nombre, apellidos, edad, carrera) values ("Martín", "Bastida Godínez",
"23", "Ingeniería en TI");
Tomando como ejemplo si se tuviera una tabla llamada 'usuario' con los campos de tipo
cadena de caracteres (nombre, apellidos, edad, carrera), donde se inserta los valores
que se encuentran en después de la palabra values, los valores se insertan en el orden
correspondiente a como se hizo la llamada de los campos, los valores van separados por
comas, las comillas dobles indican que se está insertando datos de tipo cadena de
caracteres.
TÉCNICAS DE PROGRAMACIÓN 25
Delete: Para eliminar los registros de una tabla usamos el comando "delete":
La ejecución del comando indicado en la línea anterior borra TODOS los registros de la
tabla. Si queremos eliminar uno o varios registros debemos indicar cuál o cuáles, para
ello utilizamos el comando "delete" junto con la clausula "where" con la cual
establecemos la condición que deben cumplir los registros a borrar. Por ejemplo,
queremos eliminar aquel registro cuyo nombre de usuario es 'Martín':
Update: Para modificar uno o varios datos de uno o varios registros utilizamos "update"
(actualizar). Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de
todas las claves, por "Sevilla":
Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar
y su nuevo valor. El cambio afectará a todos los registros.
También podemos describir DCL (por sus siglas en inglés: Data Control Language) es
un lenguaje proporcionado por el Sistema de Gestión de Base de Datos que incluye una
serie de comandos SQL que permiten al administrador controlar el acceso a los datos
contenidos en la Base de Datos.
TÉCNICAS DE PROGRAMACIÓN 26
Algunos ejemplos de comandos incluidos en el DCL son los siguientes:
GRANT: Permite dar permisos a uno o varios usuarios o roles para realizar tareas
determinadas.
REVOKE: Permite eliminar permisos que previamente se han concedido con GRANT.
Las tareas sobre las que se pueden conceder o denegar permisos son las siguientes:
CONNECT
SELECT
INSERT
UPDATE
DELETE
USAGE
Componente Requisito
TÉCNICAS DE PROGRAMACIÓN 27
o SQL Server Management Studio, y no lo instala ya el
programa de instalación de SQL Server.
TÉCNICAS DE PROGRAMACIÓN 28
Internet. El programa de instalación de SQL Server descarga
e instala .NET Framework 4 puesto que no se incluye en el
medio de instalación de SQL Server Express.
TÉCNICAS DE PROGRAMACIÓN 29
Además de los recursos que necesita la partición primaria, a
cada máquina virtual (partición secundaria) se le deben
proporcionar suficientes recursos de procesador, memoria
y recursos de disco para su instancia de SQL Server
2014. Los requisitos se enumeran más adelante en este
tema.1
TÉCNICAS DE PROGRAMACIÓN 30
SQL Server 2014 requiere Super VGA (800x600) o
Monitor
un monitor de una resolución mayor.
Componente Requisito
Mínimo:
Se recomienda:
Memoria
Ediciones Express: 1 GB
Mínimo:
TÉCNICAS DE PROGRAMACIÓN 31
Motor de base de datos
y archivos de datos,
replicación, búsqueda 811 MB
de texto completo y
Data Quality Services
Analysis Services y
345 MB
archivos de datos
Reporting Services
y Administrador de 304 MB
informes
Componentes
de cliente, excepto los
componentes de
los Libros en pantalla 1823 MB
de SQL Server y
las herramientas de
Integration Services.
TÉCNICAS DE PROGRAMACIÓN 32
PROCEDIMIENTOS ALMACENADOS
Un procedimiento almacenado o también conocido como Stored Procedure, es
un conjunto de instrucciones en lenguaje SQL que realizan una tarea determinada, por
ejemplo, podríamos crear un procedimiento almacenado para sumar 2 números.
Incluir parámetros
Llamar a otros procedimientos
Devolver un valor de estado a un procedimiento de llamada o lote para indicar
el éxito o el fracaso del mismo y la razón de dicho fallo
Devolver valores de parámetros a un procedimiento de llamada o lote.
TÉCNICAS DE PROGRAMACIÓN 33
Los procedimientos almacenados requieren la tabla proc en la base de datos
mysql. Esta tabla se crea durante la isntalación de MySQL 5.0. Si está
actualizando a MySQL 5.0 desde una versión anterior, asegúrese de actualizar
sus tablas de permisos para asegurar que la tabla proc existe.
Consulte Sección 2.10.2, “Aumentar la versión de las tablas de privilegios”.
Desde MySQL 5.0.3, el sistema de permisos se ha modificado para tener en
cuenta los procedimientos almacenados como sigue:
El permiso CREATE ROUTINE se necesita para crear procedimientos
almacenados.
El permiso ALTER ROUTINE se necesita para alterar o borrar procedimientos
almacenados. Este permiso se da automáticamente al creador de una rutina.
El permiso EXECUTE se requiere para ejecutar procedimientos almacenados.
Sin embargo, este permiso se da automáticamente al creador de la rutina.
También, la característica SQL SECURITY por defecto para una rutina
es DEFINER, lo que permite a los usuarios que tienen acceso a la base de datos
ejecutar la rutina asociada.
TÉCNICAS DE PROGRAMACIÓN 34
BIBLIOGRAFÍA:
TÉCNICAS DE PROGRAMACIÓN 35