jueves, 27 de septiembre de 2012

MYSQL: Creacion, actualización, mostrar y eliminar tablas (create table - show tables - describe - drop table)

En este tutorial aprenderemos como crear una tabla, actualizarla, mostrar sus campos y eliminarla de la base de datos MYSQL.
 Primero empezaremos creando la base de datos llamada empleados si no la tenemos creada;

create database empleados;/*Esta clausula crea la base de datos empleados*/ drop table if exists empleados;/*Esta clausula elimina la tabla empleados si existe*/ create table empleados/*Clausula para crear una tabla en MYSQL*/( emp_no int(11) not null default 0 comment 'Numero de Identificacion del empleado', fecha_nacimiento date not null comment 'Fecha de nacimiento del empleado', nombres varchar(30) not null comment'Nombres del empleado', apellidos varchar (30) not null comment'Apelidos del empleado', sexo enum('m','f')not null default 'm' comment 'Sexo del empleado M= Masculino , F= Femenino', fecha_entrada date not null comment'Fecha de entrada del empleado a la empresa', primary key (emp_no) comment 'Llave primaria de la tabla' )/*Escojemos como vamos a guardar nuestros datos*/ENGINE=InnoDB DEFAULT /*Tipo de formato de codificacion de caracteres*/CHARSET=latin1; ALTER TABLE empleados CHANGE COLUMN emp_numero emp_no INT(11) /*Cambia el nombre de la columna emp_numero a emp_no*/ NOT NULL COMMENT 'Numero de Identificacion del empleado' ; ALTER TABLE empleados CHANGE COLUMN emp_no emp_numero INT(11) NOT NULL COMMENT 'Numero de Identificacion del empleado' ; ALTER TABLE empleados DROP PRIMARY KEY; /*Elimina la clave primaria de la tabla empleados*/; ALTER TABLE empleados DROP COLUMN fecha_nacimiento;/*Elimina la columna fecha_nacimeinto*/ ALTER TABLE empleados ADD COLUMN campo_prueba VARCHAR(45) NULL comment 'Este es un campo agregado de prueba' AFTER fecha_entrada; describe empleados;/*Esta clausula muestra la estructura de la tabla*/

martes, 25 de septiembre de 2012

Sintaxis de SHOW TABLES en MYSQL

Bueno esta es una clausula de MYSQL la cual te muestra las tablas que se encuentran en la base de datos.

Como estamos trabajando con la base de datos Employee la sintaxis seria la siguiente:
 show tables ;/* esta clausula me devuelve los nombres de las tablas que hay en la base de datos employees pero antes hay que darle la clausula use employees;*/

Show tables from employees; /* Esta clausula me devuelve los nombres de las tablas que se han especificado en el from */ 

Show tables from employees like '%d%';

/*Esta clausula me devuelve los nombres de las tablas de la base de datos employees y ademas las que empiezan con la letra d*/

Importar la base de datos Employees MYSQL

En este tutorial utilizáremos una base de datos llamada Employees la cual la podemos descargar de la siguiente pagina https://launchpad.net/test-db para ir aprendiendo a usar las diferentes clausulas de MYSQL. Después de descargado descomprimimos el archivo y buscamos uno que se llama employees.sql y ejecutamos la siguiente consulta para cargar los archivos a la base de datos.

cargar employees consola mysql
Donde –u es nuestro usuario –p es nuestra clave
Buscamos nuestro ejecutable de mysql.exe.
Nota: en el archivo employees.sql buscamos las siguientes clausulas en ella modificamos la ruta donde se encuentra nuestro archivo en mi caso los coloque en D:/employees_db/ le hacemos el cambio y listo.

SELECT 'LOADING departments' as 'INFO';
source D:/employees_db/load_departments.dump ;
SELECT 'LOADING employees' as 'INFO';
source D:/employees_db/load_employees.dump ;
SELECT 'LOADING dept_emp' as 'INFO';
source D:/employees_db/load_dept_emp.dump ;
SELECT 'LOADING dept_manager' as 'INFO';
source D:/employees_db/load_dept_manager.dump ;
SELECT 'LOADING titles' as 'INFO';
source D:/employees_db/load_titles.dump ;
SELECT 'LOADING salaries' as 'INFO';
source D:/employees_db/load_salaries.dump ;

 Cuando haya finalizado estamos listos para empezar a realizar nuestras consultas a la base de datos de prueba employee

Introducción y definición MYSQl Sistema de administración de bases de datos

MYSQL es uno de los sistemas de administración de bases de datos relacional más popular de la actualidad, de código abierto. 

MYSQL usa el estándar SQL Structure Query Language (Lenguaje de Consulta Estructurado), el cual es un lenguaje de programación para bases de datos relacional como Oracle, Sql server, Db2, Postgres etc. 

Este motor de base de datos permite crear bases de datos, tablas, insertar datos, modificarlos, eliminarlos, ordenarlos, hacer consultas y realizar muchas operaciones, etc.

 MYSQL se ejecuta en diferentes plataformas tales como: Linux, Windows, Mac OS, Solaris, AIX de IBM etc.

 MYSQL se ofrece bajo la licencia GNU GPL, pero para aquellas empresas que desean incorporarlos en productos privativos deben pagar una licencia que le permita este uso. Los derechos de autor del código fuente pertenecen a un autor individual

jueves, 2 de febrero de 2012

TRIGGER y subida avanzada de archivos load data local infile MYSQL

En el siguiente Tutorial vamos a aprender a realizar un TRIGGER en Mysql e insertar datos a la base de datos de una manera mas Optima y rápida con load data local infile.
El trigger es el encargado de llenar todas las tablas de las bases de datos con un archivo de texto plano en formato .csv
Lo primero que hacemos es crear la base de datos que es la siguiente:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de datos: `bdnarly`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `asesor`
--

CREATE TABLE IF NOT EXISTS `asesor` (
  `ase_id` int(11) NOT NULL AUTO_INCREMENT,
  `ase_nom` varchar(100) NOT NULL,
  `ase_usu` varchar(50) NOT NULL,
  `ase_cla` varchar(50) NOT NULL,
  `ase_per` int(11) NOT NULL,
  PRIMARY KEY (`ase_id`),
  KEY `ase_usu` (`ase_usu`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Volcar la base de datos para la tabla `asesor`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `barrio`
--

CREATE TABLE IF NOT EXISTS `barrio` (
  `bar_id` int(11) NOT NULL AUTO_INCREMENT,
  `bar_idmun` int(11) NOT NULL,
  `bar_nom` varchar(250) NOT NULL,
  PRIMARY KEY (`bar_id`),
  KEY `bar_idmun` (`bar_idmun`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=252 ;

--
-- Volcar la base de datos para la tabla `barrio`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `catastro`
--

CREATE TABLE IF NOT EXISTS `catastro` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `CICLO` double DEFAULT NULL,
  `ESTRATO` varchar(255) DEFAULT NULL,
  `NIC` varchar(50) DEFAULT NULL,
  `NIS` varchar(50) DEFAULT NULL,
  `NOMBRE` varchar(255) DEFAULT NULL,
  `DIRECCION` varchar(255) DEFAULT NULL,
  `MUNICIPIO` varchar(255) DEFAULT NULL,
  `BARRIO` varchar(255) DEFAULT NULL,
  `CARTERA` double DEFAULT NULL,
  `FINANCIADO` double DEFAULT NULL,
  `SITUACION` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=90985 ;

--
-- (Evento) desencadenante `catastro`
--
DROP TRIGGER IF EXISTS `bdnarly`.`actualizarTodasLastablas`;
DELIMITER //
CREATE TRIGGER `bdnarly`.`actualizarTodasLastablas` AFTER INSERT ON `bdnarly`.`catastro`
 FOR EACH ROW begin 
set @municipio:=(select mun_id from municipio where (mun_nom)=(new.municipio));
set @barrio:='';
if(@municipio is null)then 

insert into municipio (mun_nom) values((new.municipio));

set @municipio:=(select mun_id from municipio where (mun_nom)=(new.municipio));

insert into barrio (bar_idmun ,bar_nom ) values ((@municipio),(new.barrio));

set @barrio:=(select bar_id from barrio where (bar_nom)=(new.barrio) limit 1);

else

set @barrio:=(select bar_id from barrio where (bar_nom)=(new.barrio) limit 1);

if(@barrio is null) then 

insert into barrio (bar_idmun,bar_nom) values ((@municipio),(new.barrio));

set @barrio:=(select bar_id from barrio where (bar_nom)=(new.barrio) limit 1);

end if;

end if;

set @ciclo:=(select cic_id from ciclo where (cic_id)=(new.ciclo));

if(@ciclo is null) then 

insert into ciclo (cic_id, cic_fec) values ((new.ciclo),now());

set @ciclo:=(select cic_id from ciclo where (cic_id)=(new.ciclo));

end if;



set @estrato:=(select est_id from estrato where (est_nom)=(new.estrato));

if(@estrato is null) then 

insert into estrato ( est_nom) values ((new.estrato));

set @estrato:=(select est_id from estrato where (est_nom)=(new.estrato));

end if;

set @situacion:=(select sit_id from situacion where (sit_nom)=(new.situacion));

if(@situacion is null) then 

insert into situacion ( sit_nom) values ((new.situacion));

set @situacion:=(select sit_id from situacion where (sit_nom)=(new.situacion));

end if;

set @cliente:=(select cli_id from cliente where (cli_nic)=(new.nic) 

and (cli_nis)=(new.nis));

if(@cliente is null) then 

insert into cliente ( cli_nis, cli_nic, clic_nom, cli_dir, cli_sit, cli_barid, cli_estid)

values ((new.nis),(new.nic),(new.nombre),(new.direccion),(

@situacion),(@barrio),(@estrato));

set @cliente:=(select cli_id from cliente where (cli_nic)=(new.nic) 

and (cli_nis)=(new.nis));

end if;



set @clienteciclo:=( SELECT clicic_id  FROM clienteciclo 

where (clicic_nis)=(new.nis)

and (clicic_nic)=(new.nic)

and (clicic_cic)= (new.ciclo)

);

if @clienteciclo is null then

insert into clienteciclo (clicic_nis, clicic_nic, clicic_cic, clicic_car, clicic_fin, clicic_ase)

values((new.nis),(new.nic),(new.ciclo),(new.cartera),(new.financiado),0);

end if;







end
//
DELIMITER ;

--
-- Volcar la base de datos para la tabla `catastro`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `ciclo`
--

CREATE TABLE IF NOT EXISTS `ciclo` (
  `cic_id` int(11) NOT NULL,
  `cic_fec` date NOT NULL,
  PRIMARY KEY (`cic_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- (Evento) desencadenante `ciclo`
--
DROP TRIGGER IF EXISTS `bdnarly`.`actualizarRegistro`;
DELIMITER //
CREATE TRIGGER `bdnarly`.`actualizarRegistro` AFTER INSERT ON `bdnarly`.`ciclo`
 FOR EACH ROW begin 
set @val:=( SELECT cliente.cli_nis FROM cliente where cli_nis=1
);
if(@val is null) then 
insert into registro (registro) values('suceso');
end if;
end
//
DELIMITER ;

--
-- Volcar la base de datos para la tabla `ciclo`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cliente`
--

CREATE TABLE IF NOT EXISTS `cliente` (
  `cli_id` int(11) NOT NULL AUTO_INCREMENT,
  `cli_nis` varchar(50) NOT NULL COMMENT 'Numero de identificacion del cliente',
  `cli_nic` varchar(50) NOT NULL,
  `clic_nom` varchar(255) NOT NULL,
  `cli_dir` varchar(255) NOT NULL,
  `cli_sit` int(11) NOT NULL,
  `cli_barid` int(11) NOT NULL,
  `cli_estid` int(11) NOT NULL,
  PRIMARY KEY (`cli_id`),
  UNIQUE KEY `cli_nis` (`cli_nis`,`cli_nic`),
  KEY `cli_nic` (`cli_nic`),
  KEY `cli_barid` (`cli_barid`),
  KEY `cli_estid` (`cli_estid`),
  KEY `cli_sit` (`cli_sit`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=90985 ;

--
-- Volcar la base de datos para la tabla `cliente`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `clienteciclo`
--

CREATE TABLE IF NOT EXISTS `clienteciclo` (
  `clicic_id` int(11) NOT NULL AUTO_INCREMENT,
  `clicic_nis` varchar(50) NOT NULL,
  `clicic_nic` varchar(50) NOT NULL,
  `clicic_cic` int(11) NOT NULL,
  `clicic_car` double NOT NULL COMMENT 'cartera del cliente',
  `clicic_fin` double NOT NULL COMMENT 'Financiacion del cliente',
  `clicic_ase` int(11) NOT NULL DEFAULT '0',
  `clicic_cau` int(11) NOT NULL,
  `clicic_fecv` date NOT NULL DEFAULT '1000-01-01',
  `clicic_feca` date NOT NULL DEFAULT '1000-02-01',
  `clicic_des` varchar(255) NOT NULL,
  `clicic_tel` varchar(20) NOT NULL,
  `clicic_est` int(1) NOT NULL,
  PRIMARY KEY (`clicic_id`),
  UNIQUE KEY `clicic_nis_2` (`clicic_nis`,`clicic_nic`,`clicic_cic`),
  KEY `clicic_nis` (`clicic_nis`),
  KEY `clicic_cic` (`clicic_cic`),
  KEY `clicic_nic` (`clicic_nic`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=90985 ;

--
-- Volcar la base de datos para la tabla `clienteciclo`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `estrato`
--

CREATE TABLE IF NOT EXISTS `estrato` (
  `est_id` int(11) NOT NULL AUTO_INCREMENT,
  `est_nom` varchar(50) NOT NULL,
  PRIMARY KEY (`est_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

--
-- Volcar la base de datos para la tabla `estrato`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `fecha`
--

CREATE TABLE IF NOT EXISTS `fecha` (
  `idfecha` int(11) NOT NULL,
  PRIMARY KEY (`idfecha`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `fecha`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `municipio`
--

CREATE TABLE IF NOT EXISTS `municipio` (
  `mun_id` int(11) NOT NULL AUTO_INCREMENT,
  `mun_nom` varchar(50) NOT NULL,
  PRIMARY KEY (`mun_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Volcar la base de datos para la tabla `municipio`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `registro`
--

CREATE TABLE IF NOT EXISTS `registro` (
  `registro` varchar(150) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `registro`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `situacion`
--

CREATE TABLE IF NOT EXISTS `situacion` (
  `sit_id` int(11) NOT NULL AUTO_INCREMENT,
  `sit_nom` varchar(150) NOT NULL,
  PRIMARY KEY (`sit_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

--
-- Volcar la base de datos para la tabla `situacion`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `visitascausales`
--

CREATE TABLE IF NOT EXISTS `visitascausales` (
  `viscau_id` int(11) NOT NULL AUTO_INCREMENT,
  `vis_nom` varchar(255) NOT NULL,
  PRIMARY KEY (`viscau_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

--
-- Volcar la base de datos para la tabla `visitascausales`
--


--
-- Filtros para las tablas descargadas (dump)
--

--
-- Filtros para la tabla `barrio`
--
ALTER TABLE `barrio`
  ADD CONSTRAINT `barrio_ibfk_1` FOREIGN KEY (`bar_idmun`) REFERENCES `municipio` (`mun_id`) ON UPDATE CASCADE;

--
-- Filtros para la tabla `cliente`
--
ALTER TABLE `cliente`
  ADD CONSTRAINT `cliente_ibfk_4` FOREIGN KEY (`cli_sit`) REFERENCES `situacion` (`sit_id`) ON UPDATE CASCADE,
  ADD CONSTRAINT `cliente_ibfk_5` FOREIGN KEY (`cli_estid`) REFERENCES `estrato` (`est_id`) ON UPDATE CASCADE,
  ADD CONSTRAINT `cliente_ibfk_6` FOREIGN KEY (`cli_barid`) REFERENCES `barrio` (`bar_id`) ON UPDATE CASCADE;

--
-- Filtros para la tabla `clienteciclo`
--
ALTER TABLE `clienteciclo`
  ADD CONSTRAINT `clienteciclo_ibfk_1` FOREIGN KEY (`clicic_nis`) REFERENCES `cliente` (`cli_nis`),
  ADD CONSTRAINT `clienteciclo_ibfk_2` FOREIGN KEY (`clicic_cic`) REFERENCES `ciclo` (`cic_id`),
  ADD CONSTRAINT `clienteciclo_ibfk_3` FOREIGN KEY (`clicic_nic`) REFERENCES `cliente` (`cli_nic`);

Segundo Paso

Creamos una consulta la cual es la encargada de subir todos los datos , en cual el Trigger se encargara de repartir los datos por toda la base de datos.
ejecuta el siguiente Script desde la consola  de MYSQL o desde phpmyadmin

use bdnarly;

load data local infile'F:/CATASTRO.csv' REPLACE into table catastro fields terminated by ';' enclosed by '"'  lines terminated by '\r\n';

El trigger enpezara a llenar todas las tablas.

descarga el archivo bdnarly.sql.zip y el archivo catastro.csv de la siguiente dirección
pestaña archivos de descarga.

martes, 24 de enero de 2012

Modelo Entidad Relacion

-Entidades :objetos que se distinguen por características.
-Entidades Fuerte: No necesita de ningún atributo externo.



-Entidades Débil : Necesita de otro atributo, es decir depende de otra entidad.



Atributos: Son características de las entidades
Obligatorios: Tiene que tener un valor.



Opcionales. No tiene que tener valor.


Simples



Compuestos




Mono valorados: Toma un solo valor
Multivalorados: Toma varios valores.
Derivados: Resulta de otro
Ejemplo: Fecha de nacimiento
Llave Candidata: Son todos los atributos que identifican plenamente a una entidad.
Binarias: 2 entidades
Reflexivos: Relacion entre ellas mismas
N arias: Mas de dos Entidades

Relación de Uno a Uno(1 a 1)



Relación de Uno a Muchos (1 a *)




Relación de  Muchos  a Muchos (* a *)





Relación Reflexiva








Relacion N arias






jueves, 12 de enero de 2012

DML (LMD) Lenguaje de Manipulación de Datos.


(Data Manipulation Language), Lenguaje de Manipulación de Datos.
En los niveles de abstracción de los datos se aplica no solo a la definición o estructuración de datos, sino también a a la manipulación de los datos. Por manipulación de datos queremos decir a:
La recuperación de la información almacenada en la BD
La inserción de la información nueva en la BD
La eliminación de la información de la BD
La modificación de los datos almacenados en la BD
Algunas ejemplos de las sentencias de manipulación de datos son:
Insert
Delete
Update
Select

DDL (LDD) Lenguaje de Definición de Datos

Un esquema de BD se especifica mediante un conjunto de definiciones que se expresan mediante un lenguaje especial llamado lenguaje de definición de datos (Data Definition Language (DDL)). El resultado de compilación de sentencias DDL es un conjunto de tablas las cuales se almacenan en un archivo especial llamado diccionario de datos .Esta tablas reciben el nombre de Metadatos
Algunos ejemplos son los siguientes:
Create, Drop, Alter etc.

Flujo de actividades en el diseño de un sgbd


1.DISEÑO CONCEPTUAL (Independiente del DBMS)
¢ Determinar las visualizaciones del usuario final, los resultados, y los requerimientos de procesamiento de transacciones)
¢ Definir entidades, atributos, relaciones, dibujar ER.
2.SELECCIÓN DEL SOFTWARE PARA DBMS
3.DISEÑO LOGICO (Dependiente del DBMS)
¢ Transformar el modelo conceptual en definiciones de tablas, vistas, etc.
4.DISEÑO FISICO (Dependiente del hardware)
¢ Definir estructuras de almacenamiento y rutas de acceso para un desempeño óptimo.

Fases de diseño de una base de datos


DATA MINING Minería de Datos (KKD)


Extracción de información, previamente desconocida, y que se encuentra implícita en una base de datos
Objetivo: Detectar patrones que antes se desconocían a partir de grandes cantidades de datos.

Características deseables de un SGBD


Es importante recordar las características de un SGBD a la hora de elegir:
1) ACID
¢ ATOMICIDAD: La transacción se ejecuta completamente o no, pero no se queda a medias
¢ CONSISTENCIA: propiedad que asegura que una transacción no romperá con la integridad de una base de datos.
¢ AISLAMIENTO (isolation): propiedad que asegura que no se afectarán entre sí las transacciones. En otras palabras, dos o más transacciones sobre los mismos datos no generarán un problema.
¢ DURABILIDAD: propiedad que asegura la persistencia de una transacción, es decir, una vez que la transacción quedó aceptada no podrá deshacerse aunque falle el sistema.


2)  RENDIMIENTO

3) ALTA DISPONIBILIDAD: Recuperación de desastres, Recuperación de fallos del sistema.

4) SEGURIDAD: Para los datos, usuarios (clave pública) y empresas.

5)  ESCALABILIDAD: Crítico para Internet, mayor número de usuarios en donde no aumente tanto el costo por usuario (lineal)


Tipos de SGBDs

Diferentes tipos de Sistemas Manejadores de Bases de Datoa
Según ubicación:
¢ Un solo sitio, SGBDs centralizado
¢ En varios sitios, SGBDs distribuido
Según tipo y grado de uso:
¢ SGBDs transaccional o de producción
¢ SGBDs de soporte a decisiones (Sistemas de Soporte de decisiones DSS, almacenes de datos para manejar históricos)

Funciones de un Sistema Gestor de base de datos SGBD


Funciones
Componentes
Definición de los datos
Lenguaje de definición de los esquemas de las bases de datos
Manipulación de los datos
Lenguaje de manipulación de datos
Gestión de los datos
Herramienta para la gestion

SISTEMA DE BASES DE DATOS


Sistema de información computacional, cuyo objetivo principal es gestionar grandes cantidades de información.
Consta de 4 componentes:
a) Software (Software de Sistema Operativo, SGBD, Programas de aplicación y utilerías)
  c) Usuarios  (DBA, Diseñador de la Bds, Programador de Aplicaciones, Usuario Final)
b) Hardware (discos, cintas, etc.)
d) Datos

BASES DE DATOS


Desde hace mucho tiempo el ser humano el ser humano ha registrado los datos en diferentes medios como son: papel, piedra, etc. Con el fin de dejar constancia de un fenómeno o idea.
Entonces definamos que es una base de datos:
Conjunto de datos relacionados entre sí.
Representa algún aspecto del mundo real
Datos Útiles -->Recolectados y Almacenados -->Base da datos

 Una Base de Datos debe ser consistente.
 Redundancia Mínima.
Seguridad - Privacidad
Facil Acceso
Versatilidad : Se puede moldear adaptar

Propósito de una base de datos


Es guardar la información importante de las organizaciones, empresas y personas de una manera organizada, y que sea de fácil recuperación.
Almacenar la información en una sola parte para que no haiga datos ambiguos, es decir a veces la información pueda estar repetida en diferentes partes.
Seguridad en la información ya que usuarios o personas no autorizadas no pueden acceder a la información.

viernes, 6 de enero de 2012

Importancia de las bases de datos



Las bases de datos se han convertido en área muy importante en el mundo de los sistemas de información.
Porque el ser humano ahora se pregunta donde guardaremos tanta información , sin dañar a nuestro entorno como lo es la naturaleza , que al pasar de los años hemos venido destruyendo talando los arboles y acabando sus recursos.
Es ahí donde entran las bases de datos las cuales permiten ahorrar papel, como dinero a las compañías, tiempos de búsqueda y mejor organización de la información.
Feedback con los clientes de las compañías que aunque no lo creamos cada paso que damos queda registrado en alguna parte, nuestros gustos que programas de televisión nos gusta en fin un numero de cosas que podemos lograr con estos potentes bases de datos

Presentacion

hola este espacio lo he creado con el fin de brindar apoyo a los principantes en mundo de las bases de datos relacionales