19
BASES DE DATOS 1. Definiciones: Una base de datos 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. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono. [1] Web grafía [1]http://www.masadelante.com/faq-base-de- datos.htm Base de datos: Es una colección de archivos interrelacionados, son creados con un DBMS. El contenido de una base de datos engloba a la información concerniente (almacenadas en archivos) de una organización, de tal manera que los datos estén disponibles para los usuarios, una finalidad de la base de datos

Bases de Datos

  • Upload
    gloria

  • View
    1.295

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Bases de Datos

BASES DE DATOS

1. Definiciones:

Una base de datos 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. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono. [1]

Web grafía

[1]http://www.masadelante.com/faq-base-de-datos.htm

Base de datos: Es una colección de archivos interrelacionados, son creados con un DBMS. El contenido de una base de datos engloba a la información concerniente (almacenadas en archivos) de una organización, de tal manera que los datos estén disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla. Los tres componentes principales de un sistema de base de datos son el hardware, el software DBMS y los datos a manejar, así como el personal encargado del manejo del sistema. [2]

[2]http://sistemas.itlp.edu.mx/tutoriales/basedat1/tema1_1.htm

Se le llama base de datos a los bancos de información que contienen datos relativos a diversas temáticas y categorizados de

Page 2: Bases de Datos

distinta manera, pero que comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y clasificarlos en conjunto.

Las bases de datos se clasifican como estáticas - en casos en que sólo sirven para su lectura y almacenamiento - o dinámicas - la información se modifica y puede ser actualizada -. También, según su contenido pueden ser bibliográficas, de texto completo, directorios, o de tipo biblioteca.[3]

[3]http://www.definicionabc.com/tecnologia/base-de-datos.php

Base de datos

Conjunto de datos relacionados que se almacenan de forma que se pueda acceder a ellos de manera sencilla, con la posibilidad de relacionarlos, ordenarlos en base a diferentes criterios, etc. Las bases de datos son uno de los grupos de aplicaciones de productividad personal más extendidos. Entre las más conocidas pueden citarse dBase, Paradox, Access y Aproach, para entornos PC, y Oracle, ADABAS, DB/2, Informix o Ingres, para sistemas medios y grandes.[4]

[4]http://tecnologia.glosario.net/terminos-tecnicos-internet/base-de-datos-173.html

o BASE DE DATOSUna base de datos consiste en una organización sistemática de una serie de contenidos pertenecientes al mismo ámbito o contexto y que son almacenados para su posterior búsqueda y uso. Los Sistemas de Bases de Datos permiten guardar los documentos, pero su función principal es la rápida recuperación de los mismos, empleando el menor tiempo y esfuerzo posible. El software dedicado al almacenamiento y recuperación de la información se denomina SGBD

Page 3: Bases de Datos

(Sistemas Gestores de Bases de Datos), que sirve de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Algunos de los datos que se almacenan cada día se encuentran protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD). Básicamente, existen dos tipos de bases de datos:

Estáticas, donde los datos no pueden modificarse, sino que las bases de datos son de sólo lectura y consulta.

Dinámicas, donde los datos almacenados pueden (y deben) modificarse y actualizarse. [5]

[5]http://www.hooping.net/glossary/base-de-datos-12.aspx

2. Gestor de Base de Datos:Permite definir las carpetas y los campos que contendrán los datos de los documentos introducidos. Muestra, en forma de árbol, la estructura de base de datos creada. Proporciona los más avanzados mecanismos para la búsqueda y selección de documentos, creando Vistas y generando búsquedas tan completas como el usuario precise.[6]

[6]http://www.proco.es/html/fr-ged.html

MySQL

MySQL es un sistema de gestión de bases de datos relacional, licenciado bajo la GPL de la GNU. Su diseño multihilo le permite soportar una gran carga de forma muy eficiente. MySQL fue creada por la empresa sueca MySQL AB, que mantiene el copyright del código fuente del servidor SQL, así como también de la marca.

Page 4: Bases de Datos

Aunque MySQL es software libre, MySQL AB distribuye una versión comercial de MySQL, que no se diferencia de la versión libre más que en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de no ser así, se vulneraría la licencia GPL.

Este gestor de bases de datos es, probablemente, el gestor más usado en el mundo del software libre, debido a su gran rapidez y facilidad de uso. Esta gran aceptación es debida, en parte, a que existen infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de programación, además de su fácil instalación y configuración.

Historia de MySQL

MySQL surgió como un intento de conectar el gestor MySQL a las tablas propias de MySQL AB, usando sus propias rutinas a bajo nivel. Tras unas primeras pruebas, vieron que MySQL no era lo bastante flexible para lo que necesitaban, por lo que tuvieron que desarrollar nuevas funciones. Esto resultó en una interfaz SQL a su base de datos, con una interfaz totalmente compatible a MySQL.

Se comenta en el manual [MySQL_Manual] que no se sabe con certeza de donde proviene su nombre. Por un lado dicen que sus librerías han llevado el prefijo 'my' durante los diez últimos años. Por otro lado, la hija de uno de los desarrolladores se llama My. No saben cuál de estas dos causas (aunque bien podrían tratarse de la misma), han dado lugar al nombre de este conocido gestor de bases de datos.

La versión estable de este gestor a días de hoy es la 3.23.49. Se puede encontrar más información sobre este gestor en el manual [MySQL_Manual].

Características de MySQL

Page 5: Bases de Datos

Las principales características de este gestor de bases de datos son las siguientes:

1. Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo.

2. Soporta gran cantidad de tipos de datos para las columnas.3. Dispone de API's en gran cantidad de lenguajes (C, C++,

Java, PHP, etc.).4. Gran portabilidad entre sistemas.5. Soporta hasta 32 índices por tabla.6. Gestión de usuarios y password, manteniendo un muy

buen nivel de seguridad en los datos.

MySQL surgió como una necesidad de un grupo de personas sobre un gestor de bases de datos rápido, por lo que sus desarrolladores fueron implementando únicamente lo que precisaban, intentando hacerlo funcionar de forma óptima. Es por ello que, aunque MySQL se incluye en el grupo de sistemas de bases de datos relacionales, carece de algunas de sus principales características:

1. Subconsultas: tal vez ésta sea una de las características que más se echan en falta, aunque gran parte de las veces que se necesitan, es posible reescribirlas de manera que no sean necesarias.

2. SELECT INTO TABLE: Esta característica propia de Oracle, todavía no está implementada.

3. Triggers y Procedures: Se tiene pensado incluir el uso de procedures almacenados en la base de datos, pero no el de triggers, ya que los triggers reducen de forma significativa

Page 6: Bases de Datos

el rendimiento de la base de datos, incluso en aquellas consultas que no los activan.

4. Transacciones: a partir de las últimas versiones ya hay soporte para transacciones, aunque no por defecto (se ha de activar un modo especial).

5. Integridad referencial: aunque sí que admite la declaración de claves ajenas en la creación tablas, internamente no las trata de forma diferente al resto de campos.

http://www.netpecos.org/docs/mysql_postgres/x57.html

MySQL es el sistema gestor de bases de datos de código abierto más utilizado del mercado. La razón: las empresas que lo utilizan consiguen recortar el gasto dedicado a este tipo de software en un 90%. Por regla general no cuesta dinero utilizarlo, siempre y cuando se sigan unas reglas muy sencillas.

Este gestor se caracteriza por su facilidad de uso, velocidad y flexibilidad para funcionar en diferentes sistemas operativos. Aprenderá a trabajar con bases de datos, tablas, tipos de datos y SQL. Todos los conceptos van acompañados de ejemplos para facilitar su comprensión.

http://www.agapea.com/libros/MySQL-5-isbn-8441519366-i.htm

SQL SERVER

SQL (Structured Query Language) es un lenguaje de programación para acceder y manipular bases de datos.

SQL surgió de un proyecto de IBM en el que investigaba el acceso a bases de datos relacionales. Esto poco a poco se ha ido

Page 7: Bases de Datos

convirtiendo en un estándar de lenguaje de bases de datos y gran parte de ellas lo soportan. Por esta razón, se considera a SQL como un lenguaje normalizado, que nos permite interactuar con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...)

http://www.mailxmail.com/curso/informatica/sql

3. Tipos de bases de datos

Una base de datos relacional es un conjunto de relaciones normalizadas. Para representar el esquema de una base de datos relacional se debe dar el nombre de sus relaciones, los atributos de éstas, los dominios sobre los que se definen estos atributos, las claves primarias y las claves ajenas.

4. Elementos de una base de datos

Una tabla es un conjunto de datos que se refieren a un determinado argumento. Los datos se subdividen en columnas (campos) y filas (registros); cada campo contiene un único dato relativo, por ejemplo, a una personas, mientras que un registro contiene todas las informaciones relativas a la misma persona.

http://www.mailxmail.com/curso/informatica/access/capitulo5.htm

En las bases de datos relacionales, como StarBase, cada tabla debe poseer una Llave primaria. Una llave primaria es un campo que cuenta con un valor diferente para cada uno de los registros de la tabla y por lo tanto puede usarse para identificar un determinado registro en particular. Por ejemplo, suponga que usted tiene una tabla en la que almacena los datos de las personas interesadas en sus servicios: podría utilizar como Llave

Page 8: Bases de Datos

primaria el número de documento, ya que éste no puede repetirse.

http://www.enieediciones.com.ar/cursos_gratuitos/Computacion_on-line/base/glyptodon/clase02/main2101.htm

Tipos usuales de bases de datos en la Web

En la web, se suelen usar 3 tipos de bases de datos:

Access: Es una base de datos desarrollada por Microsoft comúnmente utilizada bajo el lenguaje ASP (Active Server Pages). Esta base de datos, debe ser creada bajo el programa access, el cual crea archivo .mdb con la estructura ya explicada. El programa usa un entorno gráfico normal, y es muy parecido a usar excel.

MySQL: Es una base de datos con licencia GPL basada en un servidor, puede ser sólo creada por código. Usualmente se utiliza el programa phpMyAdmin como soporte para administrar la base de datos en el nivel de programación (a un usuario normal le resultaría complicado utilizarla desde linea de comandos).

SQL Server: Es una base de datos más potente que access desarrollada por Microsoft también, que se supone es recomendable arriba del millon datos.

PostgreSQL / Oracle: Son realmente mucho más poderosas que todas las antes mencionadas, aunque también se duplican los problemas. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.

Lenguaje SQL

Este es el lenguaje que se utiliza para conectarse a una base de datos. Son sentencias, que realizan un query (consulta) a la DB a fin de que esta les responda con una cantidad de datos limitada según lo buscado. Básicamente, existen muchísimas funciones de

Page 9: Bases de Datos

SQL, pero detallaré las más usuales, con las cuales se pueden lograr una interacción buena con la DB.

http://www.cristalab.com/tutoriales/tutorial-basico-de-bases-de-datos-c75l/

La característica principal según la cual los DBMS se clasifican es la representación lógica de los datos que muestran a sus usuarios. Con el paso de los años, se han adoptado numerosos modelos para los datos, al frente de los cuales existen diversos tipos de bases de datos. Los más comunes son:

Bases de datos jerárquicos: los datos se organizan en grupos unidos entre ellos por relaciones de "posesión", en las que un conjunto de datos puede tener otros conjuntos de datos, pero un conjunto puede pertenecer sólo a otro conjunto. La estructura resultante es un árbol de conjuntos de datos.

Bases de datos reticulares: el modelo reticular es muy parecido al jerárquico, y de hecho nace como una extensión de este último. También en este modelo conjuntos de datos están unidos por relaciones de posesión, pero cada conjunto de datos puede pertenecer a uno o más conjuntos. La estructura resultante es una red de conjuntos de datos.

Bases de datos relacionales: las bases de datos que pertenecen a esta categoría se basan en el modelo relaciones, cuya estructura principal es la relación, es decir una tabla bidimensional compuesta por líneas y columnas. Cada línea, que en terminología relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. las características de cada entidad están definidas por las columnas de las relaciones, que se llaman atributos. Entidades con características comunes, es decir descritas por el mismo conjunto de atributos, formarán parte de la misma relación.

Page 10: Bases de Datos

Base de datos por objetos (object-oriented): el esquema de una base de datos por objetos está representado por un conjunto de clases que definen las características y el comportamiento de los objetos que poblarán la base de datos. La diferencia principal respecto a los modelos examinados hasta ahora es la no positividad de los datos. En efecto, con una base de datos tradicional (entendiendo con este término cualquier base de datos no por objetos), las operaciones que se tienen que efectuar en los datos se les piden a las aplicaciones que los usan. Con una base de datos object-oriented, al contrario, los objetos memorizados en la base de datos contienen tanto los datos como las operaciones posibles con tales datos. En cierto sentido, se podrá pensar en los objetos como en datos a los que se les ha puesto una inyección de inteligencia que les permite saber cómo comportarse, sin tener que apoyarse en aplicaciones externas.

Los primeros dos tipos de bases de datos, los jerárquicos y reticulares, hoy ya casi pertenecen a la historia de la informática.La mayor parte de las bases de datos que hoy se usan pertenece a la categoría de las bases de datos relacionales. Los motivos de este éxito (también comercial) hay que buscarlos en el rigor matemático y en la potencialidad expresiva del modelo relacional en que se basan, en su facilidad de uso y, último pero no menos importante, en la disponibilidad de un lenguaje de interrogación estándar, el SQL, que, al menos potencialmente, permite que se desarrollen aplicaciones independientes del DBMS concreto relacional que se use.Las bases de datos por objetos son la nueva frontera en la investigación sobre las bases de datos; efectivamente, sus características de extendibilidad, que se derivan de la posibilidad de definir nuevos tipos de datos y comportamientos, las hacen particularmente apetecibles para todas las aplicaciones que usan datos complejos, como por ejemplo imágenes, sonidos o ambos coordinados. Por desgracia, la falta de un modelo universalmente aceptado para los objetos, así como que no

Page 11: Bases de Datos

exista un lenguaje de interrogación estándar, hace que cada productor implemente la propia visión específica, a menudo absolutamente incompatible con las otras. Recientemente, han aparecido en el mercado algunas bases de datos definidas como object-relational, que intentan introducir en el modelo relacional las características de extendibilidad propias de las bases de datos object-oriented.

Independientemente del tipo de base de datos, las funciones principales que se pueden esperar de un DBMS son:

1. permitir el acceso a los datos a través de un esquema conceptual, en vez de hacerlo a través de un esquema físico;

2. compartir e integrar los datos entre aplicaciones diferentes; 3. controlar el acceso compartido a los datos; 4. garantizar la seguridad e integridad de los datos;

Gracias a estas características, las aplicaciones que se desarrollan pueden contar con una fuente de datos segura, fiable y generalmente escalabale. Estas propiedades son deseables para aplicaciones que usan la red Internet como infraestructura y que por tanto tienen evidentes problemas de seguridad y de escala.

http://www.htmlpoint.com/sql/sql_02.htm

SQL

La historia de SQL (que se pronuncia deletreando en inglés las letras que lo componen, es decir "ese-cu-ele" y no "siquel" como se oye a menudo) empieza en 1974 con la definición, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje para la especificación de las características de las bases de datos que adoptaban el modelo relacional. Este lenguaje se llamaba

Page 12: Bases de Datos

SEQUEL (Structured English Query Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de este sistema, que no estaba todavía comercializado, también otras compañías empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los años ochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos) comercializaron productos basados en SQL, que se convierte en el estándar industrial de hecho por lo que respecta a las bases de datos relacionales.

En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como estándar para los lenguajes relacionales y en 1987 se transfomó en estándar ISO. Esta versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido diversas revisiones que han conducido primero a la versión SQL/89 y, posteriormente, a la actual SQL/92.El hecho de tener un estándar definido por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en él. Desde el punto de vista práctico, por desgracia las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e implementa en la propia base de datos sólo el corazón del lenguaje SQL (el así llamado Entry level o al máximo el Intermediate level), extendiéndolo de manera individual según la propia visión que cada cual tenga del mundo de las bases de datos.

Actualmente, está en marcha un proceso de revisión del lenguaje

Page 13: Bases de Datos

por parte de los comités ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce como SQL3. Las características principales de esta nueva encarnación de SQL deberían ser su transformación en un lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la introducción de nuevos tipos de datos más complejos que permitan, por ejemplo, el tratamiento de datos multimediales.

http://www.htmlpoint.com/sql/sql_04.htm