lunes, 4 de mayo de 2015

Modelo Relacional



1) Modelo Relacional


El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.

En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que éstos se almacenen no tiene relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la información.
Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila también se puede denominar tupla o registro y a cada columna también se le puede llamar campo o atributo.
Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el Álgebra relacional y el Cálculo relacional. El Álgebra relacional permite describir la forma de realizar una consulta, en cambio, el Cálculo relacional sólo indica lo que se desea devolver.

Características:

  • Una Base de Datos se compone de varias tablas o relaciones.
  • No pueden existir dos tablas con el mismo nombre ni registro.
  • Cada tabla es a su vez un conjunto de registros (filas y columnas).
  • La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas).
  • Las claves primarias son la clave principal de un registro dentro de una tabla y éstas deben cumplir con la integridad de datos.
  • Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de éstas se hacen las formas relacionales
Elementos del Modelo:

  1. Atributo: Es la propiedad que describe a cada entidad.
  2. Campo: Mínima unidad de almacenamiento de información.
  3. Registro: Conjunto de campos.
  4. Dominio: Describe un conjunto de posibles valores de un atributo.

2) Estructura de las Base de Datos Relacionales

La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o instancia).

El esquema es la definición de la estructura de la base de datos y principalmente almacena los siguientes datos:


  • El nombre de cada tabla
  • El nombre de cada columna
  • El tipo de dato de cada columna
  • La tabla a la que pertenece cada columna
  • Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización, el resultado de dicho proceso es un esquema que permite que la base de datos sea usada de manera óptima.


Los datos o instancia es el contenido de la base de datos en un momento dado. Es en sí, el contenido de todos los registros.

Definición de una base de datos relacional: 
      Es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. 
            
      Estructura de los datos relacionales:

TABLAS: son esencialmente relaciones.
• ATRIBUTOS: son las cabeceras de las tablas.
• DOMINIO: es el conjunto de valores que toma un atributo.
• TUPLAS: son cada una de las líneas que contiene una tabla.
• CLAVE PRIMARIA: atributo o conjunto de atributos de una relación que identifican inequívocamente a una tupla.

Requisitos para que una clave primaria lo sea:

- Unicidad: el valor de la clave primaria de una tupla, no se puede repetir.
- Minimalidad: si el PK (Primary Key) es compuesto, no se podrá eliminar ninguno de sus componentes.
- CLAVE FORÁNEA O EXTERNA: atributo o conjunto de atributos que son clave primaria en otra relación o tabla


Relaciones de la base de datos:

No siempre las condiciones para establecer vínculos entre dos tablas son iguales, la manera en que se relacionan las tablas entre sí da lugar a comportamientos diferentes. En la estructutura de cualquier base de datos encontramos principalmente tres tipos de relaciones que se describen del siguiente modo:

·         Uno a muchos.
·         Muchos a muchos.
·         Uno a uno.

De todas ellas, la más utilizada y recomendable en la mayoría de los casos será el modelo Uno a muchos como veremos a continuación.

Propiedades de las relaciones:

Miden su grado de bondad/aproximación al modelo real matemático por una serie de "formas normales", según se sube en las formas se dice que la relación está mejor diseñada. Al menos debe estar en la primera forma normal (1NF) y para ello debe cumplir:

  • No hay duplicación de tuplas.
  • No hay orden entre las tuplas.
  • No hay orden entre los atributos (se accede a través de su nombre).

No existen atributos que no sean atómicos (una casilla un dato). Es decir, no existe la posibilidad de tener una tabla como la siguiente:

Alumno Asignatura
José Cálculo
         Algebra
      Física

no es correcta, sin embargo si lo es esta otra:

Alumno Asignatura
José Cálculo
José Algebra
José Física

Por último, decir que existe la posibilidad de tratar relaciones entre sí a través de atributos comunes, esto evita la duplicación de la información. Dividimos un esquema en más de uno.

Dominios:

Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "cualquier valor de este atributo debe ser elemento del conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no procedurales, etc.

Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cada registro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos se llama clave única. Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas suele llamársele candidata a clave primaria.

Claves relaciones:

Clave primaria

Una clave primaria es una clave única elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas.

Clave foránea

Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.

Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un departamento por cada clave distinta de departamento en la tabla de departamentos.

Clave índice

Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice.

Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución de datos y tamaño de la relación.

Los índices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo de programadores que las otras partes de la base de datos.

3) Restricciones de integridad

Una restricción es una limitación que obliga el cumplimiento de ciertas condiciones en la base de datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la base de datos sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.

Las restricciones proveen un método de implementar reglas en la base de datos. Las restricciones limitan los datos que pueden ser almacenados en las tablas. Usualmente se definen usando expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la restricción o no.


Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales.

Las restricciones de integridad no permiten la existencia de relaciones que no representan un estado posible del mundo real que están representando.

Valores nulos:

Los valores nulos (que son distintos de la cadena vacía, blancos, 0, ...) se soportan en los SGBD totalmente relacionales para representar información desconocida o no aplicable de manera sistemática, independientemente del tipo de datos.

Se reconoce la necesidad de la existencia de valores nulos, para un tratamiento sistemático de los mismos.
Hay problemas para soportar los valores nulos en las operaciones relacionales, especialmente en las operaciones lógicas.
Lógica trivaluada. En una posible solución. Existen tres (no dos) valores de verdad: Verdadero, Falso y Desconocido (null). Se crean tablas de verdad para las operaciones lógicas:
null Y null = falso
Verdadero Y null = null
Falso Y null = Falso
Verdadero O null = Verdadero
etc..


Un inconveniente es que de cara al usuario el manejo de los lenguajes relacionales se complica pues es más difícil de entender.

Integridad de entidad:

Pretende que cada entidad que se guarda en la base de datos sea identificable de un modo unico, es decir, que evitemos la información redundante.
La identificación de identidades no es única, podemos tener varios modos de identidad para un mismo objeto real.

Estas entidades pueden ser de diferentes caracteres:
Entidades físicas, Entidades conceptuales, Entidades como eventos.
La integridad de entidad define una fila como entidad única para una tabla determinada. Exige la integridad de columnas, de los identificadores o la clave principal de una tabla, mediente indices y restricciones UNIQUE, o restricciones PRIMARY KEY o IDENTITY

Integridad referencial:

Protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas.
Se basa en las relaciones entre claves externas y claves principales mediante restricciones FOREIGN KEY y CHECK.

Garantiza que los valores de clave sean coherentes en las distintas tablas. Para conseguir esa conseguir esa coherencia, es preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos. 

Otras restricciones:
  • Restricción de unicidad: No debe haber en la relacion dos tuplas que tengan el mismo valor en todos los atributos del conjunto K (dos valores iguales en la misma columna)
  • Restricciones de valor no nulo: No debe haber en la relacion una tupla que tenga valor nulo en algun atributo de K (No debe haber ninguna casilla de la columna vacia)



4) Lenguaje de manipulación de datos

Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el álgebra relacional y el cálculo relacional. El álgebra relacional permite describir la forma de realizar una consulta, en cambio, el cálculo relacional sólo indica lo que se desea devolver.

El lenguaje más común para construir las consultas a bases de datos relacionales es SQL (Structured Query Language), un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales integradas.

En el modelo relacional los atributos deben estar explícitamente relacionados a un nombre en todas las operaciones, en cambio, el estándar SQL permite usar columnas sin nombre en conjuntos de resultados, como el asterisco taquigráfico (*) como notación de consultas.

Al contrario del modelo relacional, el estándar SQL requiere que las columnas tengan un orden definido, lo cual es fácil de implementar en una computadora, ya que la memoria es lineal.


Es de notar, sin embargo, que en SQL el orden de las columnas y los registros devueltos en cierto conjunto de resultado nunca está garantizado, a no ser que explícitamente sea especificado por el usuario.

Álgebra relacional:

El álgebra relacional es un conjunto de operaciones que describen paso a paso cómo computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo.


Describe el aspecto de la manipulación de datos. Estas operaciones se usan como una representación intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta.


Calculo relacional:

El Cálculo relacional es un lenguaje de consulta que describe la respuesta deseada sobre una Base de datos sin especificar como obtenerla, a diferencia del Álgebra relacional que es de tipo procedural, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los mismos resultados.



Podemos distinguir, a lo menos, dos Clases de Cálculo Relacional:

Cálculo relacional basado en tuplas (TRC).

Una consulta en TRC es de la forma:

{T | φ(T )}
donde T es una variable tipo tupla y φ(T) es una fórmula que describe a T. El resultado de esta consulta es el conjunto de todas las tuplas t para las cuales la fórmula es verdadera.

Variable de tipo tupla
Una variable tipo tupla T es una variable capaz de tomar cualquier valor tupla que pertenece a una relación (o tabla).

Sintáxis de consulta en TRC
La sintáxis es definida a partir de la lógica de primer orden. Donde la variable a utilizar son de tipo tupla. Una variable es libre en una fórmula (o subfórmula) si la (sub) fórmula no contiene ninguna ocurrencia de cuantificadores que la limiten. En una consulta en TRC de la forma: {T | φ(T )}, T es la única variable libre.


Cálculo relacional basado en dominios (DRC)

Está constituido con los mismos operadores que el calculo relacional de tuplas pero no hay tuplas sino variables dominio. Las expresiones del cálculo relacional de dominios son de la forma { (x, y, z, ...) / P(x, y, z, ...) }, donde x, y, z representan las variables de dominio, P representa una fórmula compuesta de átomos (igual que en el CRT). Los átomos del cálculo relacional de dominios tienen una de las siguientes formas:

(x, y, z ) Î r, donde r es una relación con n atributos y x , y, z .son variables de dominio o constantes.
x q y, donde x e y son variables de dominio y q es un operador de comparación aritmética (>, <, =, ¹). Es necesario que los atributos x e y, tengan dominios cuyos miembros puedan compararse mediante q.
x q c, donde x es una variable de dominio, q es un operador de comparación y c es una constante en el dominio del atributo x.

Fuentes:

  • http://es.wikipedia.org/wiki/Modelo_relacional
  • http://es.wikipedia.org/wiki/C%C3%A1lculo_relacional
  • http://es.wikipedia.org/wiki/Base_de_datos_relacional#Estructura
  • http://es.wikipedia.org/wiki/Base_de_datos_relacional
  • http://www.um.es/docencia/barzana/IAGP/IAGP2-Bases-datos-relacionales.html#BM2
  • http://es.slideshare.net/omarzon/modelo-relacional-202868
  • http://quimor.ath.cx/manejo/modulo134.html
  • http://es.slideshare.net/vyezk007/integridad-de-entidad-e-integridad-referencial-en-sql-server-y-access?related=2
  • http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos_relacionales#Regla_3:_tratamiento_sistem.C3.A1tico_de_valores_nulos

sábado, 25 de abril de 2015

Investigación

1. ¿Cuál es la diferencia entre una base de datos y un sistema administrador de base de datos?




Una base de datos se refiere a la colección de datos que se relacionan entre si y se guardan para su posterior uso. El sistema administrador de base de datos es un software que facilita el trabajo de almacenar dicha información en forma clara, precisa y rápida.

2. ¿Qué es un formulario?


Un formulario es un documento, ya sea físico o digital , diseñado con el propósito de que el usuario introduzca datos estructurados (nombre, apellidos, dirección, etc.) en las zonas del documento destinadas a ese propósito, para ser almacenados y procesados posteriormente.

En informática, un formulario consta de un conjunto de campos de datos solicitados por un determinado programa, los cuales se almacenarán para su procesamiento y posterior uso. Cada campo debe albergar un dato específico, por ejemplo, el campo "Nombre" debe rellenarse con un nombre personal; el campo "Fecha de nacimiento" debe aceptar una fecha válida, etc.

3.¿Qué es una consulta?



Una consulta es el método para acceder a los datos en las bases de datos. Con las consultas se puede modificar, borrar, mostrar y agregar datos en una base de datos. Para esto se utiliza un lenguaje de consultas. El lenguaje de consultas a base de datos más utilizado es el SQL. Técnicamente hablando, las consultas a la base de datos se realizan a través de un lenguaje de manipulación de datos.






4.Explica por qué la extracción de datos con frecuencia es útil en la toma de decisiones en una empresa.

La extracción de datos proporciona vistas en datos corporativos, encontrando patrones y relaciones ocultos en las grandes base de datos e infiriendo reglas a partir de ellos para predecir la conducta futura. Luego se puede usar los patrones y reglas para guiar la tomas de decisiones y pronosticar el impacto de tales decisiones. Los tipos de información que se pueden generar de la extracción de datos incluyen asociaciones, secuencias, clasificaciones, agrupaciones y pronósticos.




5.¿Por qué se podría decir que el Internet es una super base de datos?


En el pasado, las bases de datos solo podían utilizarse al interior de las instituciones o en redes locales, pero actualmente el Web permite acceder a bases de datos desde cualquier parte del mundo. Estas ofrecen, a través de la red, un manejo dinámico y una gran flexibilidad de los datos, como ventajas que no podrían obtenerse a través de otro medio informativo.

Con estos propósitos, los usuarios de Internet pueden obtener un medio que puede adecuarse a sus necesidades de información, con un costo, inversión de tiempo, y recursos mínimos. Asimismo, las bases de datos serán usadas para permitir el acceso y manejo de la variada información que se encuentra a lo largo de la red.

A nivel de una red local, se puede permitir o impedir, a diferentes usuarios el acceso a cierta informacion, pero en la red mundial de Internet se necesita de controles mas efectivos en este sentido ante posible copia de datos , manipulacion de datos, etc. La indentificacion del usuario es una de las formas de guardar la seguridad. Las identidades y permisos del usuario estan definidos en los Archivos de Control de Acceso. Pero la seguridad e integridad total de una base de datos se puede conservar, permitiendo el acceso a distintos campos de una base de datos, solamente a usuarios autorizados para ello. En este sentido, los datos pueden se presentados a través de la Web de una forma segura, y con mayor impacto en todos los usuarios de la red mundial. En este sentido, los datos pueden ser presentados a través del Web de una forma segura, y con mayor impacto en todos los usuarios de la red mundial. Para la integración de base de datos con el Web es necesario contar con una interfaz que realice las conexiones, extraiga la información de la base de datos, le dé un formato adecuado de tal manera que puede ser visualizada desde un browser del Web, y permita lograr sesiones interactivas entre ambos, dejando que el usuario haga de la información que requiere. 


Fuentes:

  • http://es.wikipedia.org/wiki/Formulario
  • http://nosololinux.com/2006/04/07/%C2%BFes-internet-una-base-de-datos/
  • http://www.gcfaprendelibre.org/tecnologia/curso/access_2010/disenar_busquedas_o_consultas/1.do
  • http://www.alegsa.com.ar/Dic/consulta%20en%20base%20de%20datos.php
  • https://books.google.com.pa/books?id=KD8ZZ66PF-gC&pg=PA350&lpg=PA350&dq=la+extracci%C3%B3n+de+datos+%C3%BAtil+en+la+toma+de+decisiones+en+una+empresa.&source=bl&ots=hkkhn6iY3x&sig=1D1o6_aVDBgy-8xn4KCfMjsrF-4&hl=es&sa=X&ei=Ij88VcCFHsujNteKgagO&redir_esc=y#v=onepage&q=la%20extracci%C3%B3n%20de%20datos%20%C3%BAtil%20en%20la%20toma%20de%20decisiones%20en%20una%20empresa.&f=false
  • http://es.slideshare.net/Abelome/internet-como-base-de-datos

sábado, 11 de abril de 2015

MySQL





MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

MySQL es usado por muchos sitios web grandes y populares, como Wikipedia, Google (aunque no para búsquedas), Facebook, Twitter, Flickr, y YouTube.
Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad.
Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre. Entre las características disponibles en las últimas versiones se puede destacar:

·         Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
·         Disponibilidad en gran cantidad de plataformas y sistemas.
·         Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes velocidades de operación, soporte físico, capacidad, distribución geográfica, transacciones...
·         Transacciones y claves foráneas.
·         Conectividad segura.
·         Replicación.
·         Búsqueda e indexación de campos de texto.

MySQL es un sistema de administración de bases de datos. Una base de datos es una colección estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a una galería de pinturas o el vasto volumen de información en una red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted necesita un administrador como MySQL Server. Dado que los computadores son muy buenos manejando grandes cantidades de información, los administradores de bases de datos juegan un papel central en computación, como aplicaciones independientes o como parte de otras aplicaciones.

MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.

MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir qué puede hacer y qué no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales, usted puede comprar una versión comercial licenciada.

Características distintivas

Las siguientes características son implementadas únicamente por MySQL:

·         Permite escoger entre múltiples motores de almacenamiento para cada tabla. En MySQL 5.0 éstos debían añadirse en tiempo de compilación, a partir de MySQL 5.1 se pueden añadir dinámicamente en tiempo de ejecución:
·         Los hay nativos como MyISAM, Falcon, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example
·         Desarrollados por partners como solidDB, NitroEDB, ScaleDB, TokuDB, Infobright (antes Brighthouse), Kickfire, XtraDB, IBM DB2. InnoDB Estuvo desarrollado así pero ahora pertenece también a Oracle.
·         Desarrollados por la comunidad como memcache, httpd, PBXT y Revision.
·         Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo.

Tipos de compilación del servidor

Hay tres tipos de compilación del servidor MySQL:

·         Estándar: Los binarios estándar de MySQL son los recomendados para la mayoría de los usuarios, e incluyen el motor de almacenamiento InnoDB.
·         Max (No se trata de MaxDB, que es una cooperación con SAP): Los binarios incluyen características adicionales que no han sido lo bastante probadas o que normalmente no son necesarias.
·         MySQL-Debug: Son binarios que han sido compilados con información de depuración extra. No debe ser usada en sistemas en producción porque el código de depuración puede reducir el rendimiento.

Especificaciones del código fuente

MySQL está escrito en una mezcla de C y C++.

Ventajas y Desventajas 


Ventajas

  1. Es Open Source: significa que es posible para cualquiera usar y modificar el software.
  2. Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor      rendimiento.
  3. Bajo costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.
  4. Facilidad de configuración e instalación. Soporta gran variedad de Sistemas Operativos.
  5. Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que está.
  6. Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para acceder bases de datos en Internet.
  7. El software MySQL usa la licencia GPL
Desventajas

  1. Un gran porcentaje de las utilidades de MySQL no están documentadas.
  2. No es intuitivo, como otros programas (ACCESS)

Fuentes:
  • es.wikipedia.org/wiki/MySQL
  • http://superinformacionweb.blogspot.com/2014/11/ventajas-y-desventajas-de-mysql.html
  • https://www.mindomo.com/es/mindmap/ventajas-y-desventajas-de-la-base-de-datos-my-sql-402f5022676f47919f2a15e79534330b
  • http://ftp.nchu.edu.tw/MySQL/doc/refman/5.0/es/features.html