Sei sulla pagina 1di 35

FACULTAD DE INFORMÁTICA Y CIENCIAS APLICADAS

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:

CARLOS ALFREDO OSTORGA JUÁREZ 15 – 1658 – 2017


JENNY LISSETT GONZÁLEZ DOMÍNGUEZ 15 – 0894 - 2016
REGINA CECILIA CHÁVEZ LEIVA 15 – 5913 - 2015

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.

En el entorno del mercado actual, la competitividad y la rapidez en procesos de una empresa


dependen mucho de sus sistemas integrados y 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 últimos 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.

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:

Conocer los lenguajes de programación que se utilizan en la base de datos


Definir las características y ventajas de los gestores de base de datos
Conocer los requisitos de hardware para la instalación del software de base de datos,
con la finalidad de diseñar y desarrollar procesos correctamente.

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.

QUE ES UNA BASE DE DATOS


Desde el punto de vista informático, la base de datos es un sistema formado por
un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un
conjunto de programas que manipulen ese conjunto de datos. Cada base de datos se
compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o
más columnas y filas. Las columnas guardan una parte de la información sobre cada
elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.

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).

GESTIÓN DE BASE DE DATOS (SGBD) EXISTENTES.


Los Sistemas de Gestión de Base de Datos (en inglés Data Base Management
System) son un tipo de software muy específico, dedicado a servir de interfaz entre la
base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje
de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de
consulta.

Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que


permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea
necesario que un programador escriba una aplicación que realice tal tarea.

Estos programas permiten almacenar, modificar y extraer información de una base de


datos, y que se puede interactuar a través de un lenguaje de programación.
Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc.

Un SGBD permiten definir los datos a distintos niveles de abstracción y manipular


dichos datos, garantizando la seguridad e integridad de los mismos.

CARACTERÍSTICAS DE CADA GESTOR


Actualmente existen gestores de base que cumplen un modelo para acceder a la
base de datos de forma más simple, a través de los lenguajes de consulta que permite
generar informes, analizar, garantizar la seguridad y la integridad de los datos.

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.

MySQL es un software de sistema gestión de base de datos relacional que se puede


ejecutar en los sistemas operativos GNU/Linux, Windows y Mac, se ejecuta de forma
multi-thread y multiusuario y es distribuido por Oracle bajo la licencia GPL y comercial.
Escrito en C y en C++. (Oracle Corporation, 2010)

Entre sus características más importantes tenemos:

✓ Funciona en diferentes plataformas.


✓ Usa GNU Automake, Autoconf, y Libtool para portabilidad.
✓ El servidor puede proporcionar mensajes de error a los clientes en muchos
idiomas.
✓ Relativamente sencillo de añadir otro sistema de almacenamiento. Esto es útil si
desea añadir una interfaz SQL para una base de datos propia.
✓ APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl.

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)

Entre sus características más importantes tenemos:

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

Es un sistema gestor de base de datos relacional de código abierto de muchos


otros proyectos, multiplataforma, orientado a objetos bajo la licencia PostgreSQL que
es similar a la BSD de la MIT. Para usar el gestor de base datos existen interfaces de
programación para muchos lenguajes de programación como, por ejemplo: C/C++, Java
PL/Java web, PL/Perl y demás.

Entre sus características más importantes tenemos:

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.

Microsoft SQL Server

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:

Permite trabajar en modo cliente-servidor, donde la información y datos se


alojan en el servidor y los terminales o clientes de la red sólo acceden a la
información.
Soporte de transacciones.
Permite administrar información de otros servidores de datos.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
Incluye también un potente entorno gráfico de administración, que permite el
uso de comandos DDL y DML gráficamente.

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.

MariaDB es un programa sistema de manejo de bases de datos multiplataforma


descendiente de MySQL creado en el año 2009 por el descontento de modelo de
desarrollo. Se distribuye bajo la licencia GPL que es un software completamente libre y
además se ha introducido dos nuevos motores de almacenamiento Aria y XtraDB en
sustitución de MyISAM y InnoDB.

TÉCNICAS DE PROGRAMACIÓN 14
Entre sus características más importantes tenemos:

El optimizador de MariaDB -que se encuentra en el núcleo de cualquier SGBD-


funciona claramente más rápido con cargas complejas.
La precisión para tipo de datos TIME, DATETIME, y TIMESTAMP ampliada al
microsegundo.
Proporciona estadísticas de índices y tabla, para lo que añade nuevas tablas en
INFORMATION_SCHEMA y nuevas opciones a los comandos FLUSH y SHOW para
identificar la causa en la carga del SGBD.
Columnas dinámicas, que proporcionan al usuario columnas virtuales en las
tablas.
Introducidas características estilo NoSQL, como HandlerSocket que proporciona
acceso directo a tablas InnoDB saltándose la capa SQL.
Los comandos ALTER TABLE y LOAD DATA INFILE dejan de ser opacos e
informan del progreso.

SQLite

Es un sistema completo de bases de datos que soporta múltiples tablas, índices,


triggers y vistas. No necesita un proceso separado funcionando como servidor ya que
lee y escribe directamente sobre archivos que se encuentran en el disco duro. El
formato de la base de datos es multiplataforma e indistintamente se puede utilizar el
mismo archivo en sistemas de 32 y 64 bits.

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)

Entre sus características más importantes tenemos:

Se puede leer y escribir directamente a los archivos de disco normal, cuyo


archivo puede soportar con la versión 3 de SQLite hasta 2 Terabytes.
La base de datos se almacena en un único fichero a diferencia de otros DBMS que
hacen uso de varios archivos. SQLite emplea registros de tamaño variable de
forma tal que se utiliza el espacio en disco que es realmente necesario en cada
momento.
Tiene un footprint menor a 230KB.
La base de datos completa se encuentra en un solo archivo.
Puede funcionar enteramente en memoria, lo que la hace muy rápida.
Es totalmente autocontenida (sin dependencias externas).
El código fuente está pensado para que sea entendido y accesible por
programadores promedio. Todas las funciones y estructuras están bien
documentadas.
SQLite tiene una pequeña memoria y una única biblioteca es necesaria para
acceder a bases de datos, lo que lo hace ideal para aplicaciones de bases de datos
incorporadas.
SQLite realiza operaciones de manera eficiente y es más rápido que MySQL y
PostgreSQL

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.

MongoDB es un sistema de base de datos NoSQL multiplataforma, orientado a


documentos desarrollado bajo la filosofía de software libre, los datos son guardados en
la base datos en estructuras de datos similar a JSON de JavaScript e incluso tiene la
capacidad de realizar consultas utilizando JavaScript por el cual también existen apis
para distintos lenguajes de programación para realizar consultas e informes.

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.

Almacenamiento orientado a documentos

Documentos estilo JSON con esquemas dinámicos ofrecen simplicidad y poder.

Soporte Full index

Índices sobre cualquier atributo, tal y como estamos acostumbrados.

Replicación y alta disponibilidad

Espejos entre LANs y WANs

Auto-Sharding

Escalabilidad horizontal sin comprometer la funcionalidad, está limitada,


actualmente, a 20 nodos, aunque el objetivo es alcanzar una cifra cercana a los
1000.

Consultas

Ricas y basadas en documentos, rápidas para consultas de lectura y escritura


básica.

Rápidas actualizaciones en el contexto

Mapeo y reducción

Agregación flexible y procesamiento de datos.

TÉCNICAS DE PROGRAMACIÓN 18
GridFS

Almacena archivos de cualquier tamaño sin complicar tu “stack”.

Soporte comercial

Soporte comercial, capacitación y consultoría disponibles.

Soporta consultas dinámicas

Se pueden formular sobre cualquier valor de los documentos y no solamente en


los indexados.

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.

Por supuesto, los grandes proveedores de servicios de computación en la nube (cloud


computing) ya ofrecen MongoDB entre sus productos: Amazon Web Services, Google
Cloud Platform, Microsoft Azure, etc. Como hemos podido comprobar, el crecimiento
de MongoDB es imparable. En próximos posts aprenderemos más sobre las
características y posibilidades de esta gran base de datos.

TÉCNICAS DE PROGRAMACIÓN 19
Entre sus características más importantes tenemos:

Guarda múltiples copias de cada backup en distintos data centers (distribuidos


geográficamente y tolerantes al fallo)
Tiene un gran rendimiento en cuanto a escalabilidad y procesado de la
información.
Puede procesar la gran cantidad de información que se genera hoy en día
(millones de usuarios utilizando las mismas aplicaciones, redes sociales que
crecen sin parar, internet de las cosas, cloud computing, etc).
Da respuesta a la necesidad de almacenamiento de todo tipo de datos:
estructurados, semi estructurados y no estructurados.
Se adapta a las necesidades actuales de las aplicaciones (millones de usuarios,
miles de peticiones por segundo, etc.).
Seguridad: autenticación, autorización, etc
Es capaz de actualizarse sin dejar de dar servicio

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

TIPOS DE RELACIONES ENTRE TABLAS


Existen tres tipos de Relaciones, que son: uno a uno, una a varios y varios a
varios. En la Base de Datos las relaciones del tipo varios a varios no pueden ser
expresadas, por lo que deben ser re modelizadas.

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.

En la relación uno a varios un registro de la Tabla MATERIA puede tener muchos


registros coincidentes en la Tabla PROFESOR, pero un registro de la Tabla PROFESOR
sólo tiene un registro coincidente en la Tabla MATERIA.

Relación varios a varios: Un registro de la Tabla A puede tener muchos registros


coincidentes en la Tabla B y viceversa. Este tipo de relación sólo es posible si se define
una tercera tabla (denominada tabla de unión), cuya clave principal consta de al menos
dos campos; y que, además, estos campos, correspondan a las claves externas de las
Tablas A y B.

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.

A diferencia de muchos lenguajes de descripción de datos, SQL utiliza una acción de


versos imperativo cuyo efecto es modificar el esquema de la base de datos, añadiendo,
cambiando o eliminando las declaraciones se pueden mezclar libremente con otras
sentencias SQL, por lo que el DDL no es realmente una lengua independiente. La
declaración más común es CREATE TABLE. El lenguaje de consulta SQL, el más
difundido entre los gestores de bases de datos, admite las siguientes sentencias de
definición: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las tablas,
vistas, procedimientos almacenados y triggers de la base de datos.

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:

CREATE TABLE[nombre de la tabla] ( [definiciones de columna] ) [parámetros de la


tabla]

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;

DROP TABLE myTable;

DROP SEQUENCE mySequence;

DROP INDEX myIndex;

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:

DROP TABLE [nbBaseDatos. [nbEsquema].|nbEsquema.]nbTabla[ ,...n ] [ ; ]

Sentencia ALTER: La sentencia ALTER TABLE es usada para agregar, borrar o


modificar columnas en una tabla existente.

Para agregar una columna a una tabla, se debe usar la siguiente sintaxis:

ALTER TABLE nombre tabla

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:

ALTER TABLE nombre tabla

DROP COLUMN nombre columna

Por otra parte, también tenemos hablar acerca del Lenguaje de Manipulación de Datos

(Data Manipulation Language, DML) es un lenguaje proporcionado por los sistemas


gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las
tareas de consulta o modificación de los datos contenidos en las Bases de Datos del
Sistema Gestor de Bases de Datos.

Select: La sintaxis básica de select es la siguiente utilizando el estándar de SQL

select columna from tabla;

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: La estructura básica para la sentencia insert utilizando el estándar de SQL es la


siguiente:

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":

delete from usuarios;

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':

delete from usuarios where nombre='Martín';

Si solicitamos el borrado de un registro que no existe, es decir, ningún registro cumple


con la condición especificada, no se borrarán registros, pues no encontró registros con
ese dato.

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":

update usuarios set clave='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

En Oracle, la ejecución de un comando DCL implica un COMMIT de forma implícita. Sin


embargo, en PostgreSQL, la ejecución de un comando DCL forma parte de una
transacción, por lo que puede ser deshecha mediante el comando ROLLBACK.

REQUISITOS DE HARDWARE PARA LA INSTALACIÓN DEL SOFTWARE DE BASE DE


DATOS
El espacio de disco necesario para el producto depende del tipo de instalación
que se elija y del tipo de sistema de archivos de que se disponga. Del mismo modo los
requisitos de memoria se ven afectados por el tamaño y la complejidad del sistema de
bases de datos. (Microsoft, 2017) (IBM, 2012)

Componente Requisito

.NET 3.5 SP1 es un requisito para SQL Server 2014 cuando


.NET Framework se selecciona Motor de base de datos, Reporting Services,
Master Data Services, Data Quality Services, Replicación

TÉCNICAS DE PROGRAMACIÓN 27
o SQL Server Management Studio, y no lo instala ya el
programa de instalación de SQL Server.

Si ejecuta el programa de instalación y no tiene .NET 3.5 SP1,


el programa de instalación de SQL Server requiere que
descargue e instale .NET 3.5 SP1 para poder continuar con
la instalación de SQL Server. (Instale .NET 3.5 SP1
desde Microsoft .NET Framework 3.5 Service Pack 1). El
mensaje de error incluye un vínculo al centro de descarga o
bien puede descargar .NET 3.5 SP1
desde Windows Update. Para evitar la interrupción durante
la instalación de SQL Server, puede descargar e instalar .NET
3.5 SP1 antes de ejecutar el programa de instalación de SQL
Server.

Si ejecuta el programa de instalación en un equipo con


Windows Server 2008 R2 SP1 o Windows 8, debe habilitar
.NET Framework 3.5 SP1 antes de instalar SQL Server 2014.

Si no tiene acceso a internet, debe descargar e instalar .NET


Framework 3.5 SP1 antes de ejecutar el programa de
instalación para instalar cualquiera de los componentes
mencionados anteriormente. Para obtener
más información acerca de las recomendaciones e
instrucciones sobre cómo adquirir y habilitar .NET
Framework 3.5 en Windows 8 y Windows Server 2012, vea.

.NET 4.0 es un requisito para SQL Server 2014. SQL Server


instala .NET 4.0 durante el paso de instalación de
características.

Si está instalando las ediciones de SQL Server Express,


asegúrese de que el equipo disponga de conexión a

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.

SQL Server Express no instala .NET 4.0 en el modo Server


Core de Windows Server 2008 R2 SP1 o Windows Server
2012. Debe instalar .NET 4.0 antes de SQL Server Express en
una instalación Server Core de Windows Server 2008 R2
SP1 o Windows Server 2012.

SQL Server 2014 no instala ni habilita Windows PowerShell


2.0; sin embargo, Windows PowerShell 2.0 es un requisito
Windows PowerShell
previo de instalación para los componentes del Motor de
base de datos y SQL Server Management Studio.

Los sistemas operativos admitidos para SQL Server 2014


tienen software de red integrado. Las instancias con
nombre y predeterminadas de una instalación
Software de red
independiente admiten los siguientes protocolos de
red: Memoria compartida, Canalizaciones con
nombre, TCP/IP y VIA.

SQL Server 2014 se admite en entornos de máquina virtual


que se ejecutan en el rol Hyper-V de:

Windows Server 2008 SP2 Standard, Enterprise y


Datacenter
Virtualización
Ediciones Windows Server 2008 R2 SP1 Standard,
Enterprise y Datacenter.

Windows Server 2012 Datacenter y Standard.

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

Dentro del rol Hyper-V de Windows Server 2008 SP2 o


Windows Server 2008 R2 SP1, se puede asignar un máximo
de 4 (cuatro) procesadores virtuales a
las máquinas virtuales que ejecutan ediciones de 32 o 64
bits de Windows Server 2008 SP2, de 64 bits de Windows
Server 2008 R2 SP1 o de 64 bits de Windows Server 2012.

Dentro del rol Hyper-V de Windows Server 2012,

Se puede asignar un máximo de 8 (ocho) procesadores


virtuales a las máquinas virtuales que ejecutan ediciones de
32 y 64 bits de Windows Server 2008 SP2.

Se puede asignar un máximo de 64 (sesenta y cuatro)


procesadores virtuales a las máquinas virtuales que
ejecutan ediciones de 64 bits de Windows Server 2008 R2
SP1 o de Windows Server 2012.

SQL Server 2014 requiere un mínimo de 6 GB de espacio


disponible en disco.
Disco duro
Las necesidades de espacio en disco variarán según los
componentes de SQL Server 2014 que instale.

Para la instalación desde disco se necesita una unidad


Unidad
de DVD.

TÉCNICAS DE PROGRAMACIÓN 30
SQL Server 2014 requiere Super VGA (800x600) o
Monitor
un monitor de una resolución mayor.

La funcionalidad de Internet necesita acceso a Internet (no


Internet
necesariamente de carácter gratuito).

Componente Requisito

Mínimo:

Ediciones Express: 512 MB

Todas las demás ediciones: 1 GB

Se recomienda:
Memoria
Ediciones Express: 1 GB

Todas las demás ediciones: al menos 4 GB y debe aumentar


a medida que el tamaño de la base de datos aumente para
asegurar un rendimiento óptimo.

Mínimo:

Procesador x86: 1,0 GHz


Velocidad del procesador
Procesador x64: 1,4 GHz

Recomendado: 2 GHz o más

Procesador x64: AMD Opteron, AMD Athlon 64, Intel Xeon


compatible con Intel EM64T Intel Pentium IV compatible
Tipo de procesador con EM64T

Procesador x86: compatible con Pentium III o superior

Característica Requisito de espacio en disco

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

Integration Services 591 MB

Master Data Services 243 MB

Componentes
de cliente, excepto los
componentes de
los Libros en pantalla 1823 MB
de SQL Server y
las herramientas de
Integration Services.

Los componentes de los


Libros en pantalla de
SQL Server para ver y 375 KB
administrar el
contenido de la Ayuda1

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.

Por lo general se usa un procedimiento almacenado cuando la tarea es muy pesada y


hacerla desde la aplicación sería muy costoso.

En las bases de datos se puede crear procedimientos almacenados son básicamente en


todas, MySQL, Oracle, MySQL Server, Postgress SQL, en algunos motores con mayor
facilidad que en otros.

¿Cuál es la ventaja de usar un procedimiento almacenado? La ventaja principal es que


se libera cualquier tarea pesada que podría tener nuestra aplicación, aunque se debe
tener en cuenta y hacerlo en circunstancias necesarias ya que crear de forma excesiva
procedimientos almacenados, puede ser una mala práctica ya que se puede tener a
futuro problemas en cuanto a la organización del código entre otras cosas (Microsoft.,
2017).

Los procedimientos almacenados son grupos formados por instrucciones SQL y el


lenguaje de control de flujo. Cuando se ejecuta un procedimiento, se prepara un plan de
ejecución para que la subsiguiente ejecución sea muy rápida. Los procedimientos
almacenados pueden:

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:

Cavsi. (2007). Preguntas y Respuestas. Obtenido de www.cavsi.com.


http://www.cavsi.com/preguntasrespuestas/que-es-un-sistema-gestor-de-
bases-de-datos-o-sgbd/

Corporation., O. (2010). Obtenido de


http://ftp.tcrc.edu.tw/MySQL/doc/refman/5.0/es/features.html

EcuRed. (2010). Obtenido de https://www.ecured.cu/MongoDB

Microsoft. (2017). SQL - Server. Obtenido de https://docs.microsoft.com/es-


es/sql/sql-server/install/hardware-and-software-requirements-for-installing-
sql-server?view=sql-server-2017

Pérez Valdés, D. (26 de Octubre de 2007). Platzi. Obtenido de


www.maestrosdelweb.com

TÉCNICAS DE PROGRAMACIÓN 35

Potrebbero piacerti anche