domingo, 25 de septiembre de 2011

Codigo para crear tablas en SQL

A continuacion se presentara una sentencia de codigos para la realizacion de tablas con sus respetivos campos y tipos de datos asi como ciertas restricciones dentro de los campos, que dentro del material proporcionado una caracteristica de este su contenido era erroneo.

CREATE TABLE pelicula (

cip VARCHAR2 (10) NOT NULL,
titulo_p VARCHAR2 (45) NOT NULL,

ano_produccion NUMBER (4) NOT NULL,

titulo_s VARCHAR2 (45),

nacionalidad VARCHAR2 (15),

presupuesto NUMBER (11) CHECK (presupuesto > 0),

duración NUMBER (3)
CHECK (duracion > 0),
CONSTRAINT pk_pelicula

PRIMARY KEY (cip),

UNIQUE (titulo_p, ano_produccion)
);

CREATE TABLE personaje (

nombre_persona VARCHAR2 (25) NOT NULL,
nacionalidad_persona VARCHAR2 (15),

sexo_persona CHAR (1) CHECK (sexo_persona IN (‘H’, ‘M’)),

CONSTRAINT pk_personaje

PRIMARY KEY (nombre_persona)
);

CREATE TABLE tarea (

tarea VARCHAR2 (30) NOT NULL,
sexo_tarea CHAR (1) CHECK (sexo_ tarea IN (‘H’, ‘M’, ‘N’))
CONSTRAINT pk_tareaPRIMARY KEY (tarea) );

CREATE TABLE trabajo(

cip VARCHAR2 (25) NOT NULL,
tarea VARCHAR2 (35) NOT NULL,

nombre_persona VARCHAR2(25) NOT NULL

CONSTRAINT fk_Tra_Pel FOREING KEY (cip) REFERENCES pelicula (cip) ON DELETE CASCADE,

CONSTRAINT fk_tra_per FOREIGN KEY (nombre_persona) REFERENCES Personaje (nombre_persona) ON DELETE CASCADE,

CONSTRAINT fk_tra_tar FOREIGN KEY (tarea) REFERENCES tarea (tarea) ON DELETE CASCADE );

CREATE TABLE festival (

festival VARCHAR2 (40) NOT NULL,
fundacion DATE,

CONSTRAINT pk_festival

PRIMARY KEY (festival),

CHECK (festival = INITCAP (festival)) );


CREATE TABLE certamen (

festival VARCHAR2 (40) NOT NULL,
certamen NUMBER (4) NOT NULL,

organizador VARCHAR2 (60),

CONSTRAINT pk_certamen

PRIMARY KEY (festival, certamen),

CONSTRAINT fk_cer_fes FOREIGN KEY (festival) REFERENCES Festival (festival) ON DELETE CASCADE );

CREATE TABLE premio (

premio VARCHAR2 (50),
tarea VARCHAR (50),

CONSTRAINT pk_premio

PRIMARY KEY (premio),

CONSTRAINT fk_pre_tar FOREIGN KEY (tarea) REFERENCES Tarea (tarea) );

CREATE TABLE festival_premio (

festival VARCHAR2 (45) NOT NULL,
premio VARCHAR2 (50) NOT NULL,

galardon VARCHAR2 (50),

CONSTRAINT pk_festiva_premio

PRIMARY KEY (festival, premio),

CONSTRAINT fk_fepr_fes FOREIGN KEY (festival) REFERENCES Festival (festival) ON DELETE CASCADE,

CONSTRAINT fk_fepr_pre FOREIGN KEY (premio) REFERENCES Premio (premio) ON DELETE CASCADE );


CREATE TABLE otorgo (

festival VARCHAR2 (50) NOT NULL,
certamen NUMBER (4) NOT NULL,

premio VARCHAR2 (40) NOT NULL,

cip VARCHAR2 (10) NOT NULL,

CONSTRAINT pk_otorgo

PRIMARY KEY (festival, certamen, premio),

CONSTRAINT fk_otor_fepr FOREIGN KEY (festival, premio) REFERENCES Festival_Premio (festival, premio) ON DELETE CASCADE,

CONSTRAINT fk_otor_cer FOREIGN KEY (festival,certamen) REFERENCES certamen (festival,certamen) ON DELETE CASCADE );


CREATE TABLE reconocimiento (

festival VERCHAR2 (45) NOT NULL,
certamen NUMBER (4) NOT NULL,

premio VARCHAr2 (40)NOT NULL,

nombre_persona VARCHAR2 (35) NOT NULL,

CONSTRAINT pk_recononocimiento

PRIMARY KEY (festival, certamen, premio),

CONSTRAINT fk_reco_fepr FOREIGN KEY (festival, premio) REFERENCES certamen (festival, certamen) ON DELETE CASCADE,

CONSTRAINT fk_reco_per
FOREIGN KEY (nombre_persona) REFERENCES personaje (nombre_persona) ON DELETE CASCADE );


CREATE TABLE cine (

cine VARCHAR2 (25) NOT NULL,
ciudad_cine VARCHAR2 (25),

direccio_cine VARCHAR2 (65),

CONSTRAINT pk_cine

PRIMARY KEY (cine),

CONSTRAINT ck_cin

CHECK (cine=INITCAP (cine)) );

CREATE TABLA sala (

cine VARCHAR2 (25) NOT NULL,
sala NUMBER (2) NOT NULL,

aforo NUMBER(4),

CONSTRAINT pk_sala

PRIMARY KEY (cine,sala),

CONSTRAINT fk_sal_cin
FOREIGN KEY (cine) REFERENCES cine (cine) ON DELETE CASCADE,
CONSTRAINT ck_afr

CHECK (aforo > 0));

CREATE TABLA proyeccion(

cine VARCHAR2 (25) NOT NULL,
sala NUMBER(2) NOT NULL,

cip VARCHAR2 (10) NOT NULL,

fecha_estreno DATE NOT NULL,

dias_ estreno NUMBER(3),

espectadores NUMBER(6),

recaudación NUMBER(8),

CONSTRAINT pk_proyeccion

PRIMARY KEY (cine,sala,cip,fecha_estreno),

CONSTRAINT fk_pro_sal FOREIGN KEY (cine,sala) REFERENCES sala(cine, sala) ON DELETE CASCADE,

CONSTRAINT fk_pro_pel FOREIGN KEY (cip) REFERENCES pelicula (cip) ON DELETE CASCADE,

CONSTRAINT ck_dia

CHECK (dias_estreno > 0) );



por lo tanto podemos concluir que el lenguaje de oracle es similar que al de SQL SERVER ya que los dos emplean PL/SQL un lenguaje de Quinta generación y por lo tanto asi quedaria nuestras lineas de código sin errores, deacuerdo a la estructura correcta de elaboracion.

domingo, 18 de septiembre de 2011

Diferentes tipos de SMBD

A continuación se ejemplificara por medio de una tabla distinta Sistemas Manejadores de Base de Datos diferentes en cada software, y así identificar que funciones contiene cada SMBD y así poder elegir el adecuado para realizar nuestras funciones con unas características principales, pero a su vez diferentes en cada software, y así identificar que funciones contiene cada SMBD y así poder elegir el adecuado para realizar nuestras funciones.


SMBD

Descripción

Características

Tipo de código

Descripción técnica

MySQL

es un sistema manejador de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones

Soporte a multiplataforma. Procedimientos almacenados. Disparadores.

Cursores. Vistas actualizables.

Soporte a VARCHAR. INFORMATION_SCHEMA Modo Strict Soporte X/Open XA de transacciones distribuidas

Libre

MySQL Sun Microsystems (hasta febrero de 2008 MySQL AB) 5.1.38 (1 de septiembre de 2009) C y C++ Multiplataforma GPL o uso comercial www.mysql.com

PervasiveSQL

Motor de base de datos embebible que sustenta la integridad de los datos, el alto rendimiento, flexibilidad, escalabilidad y un bajo coste total de propiedad.

Proporciona un mayor rendimiento SQL. ODBC, JDBC, ADO / OLE DB y PDAC. Con Turbo Write Accelerator y maximiza la eficacia de las E/S del disco.

Con la Compatibilidad retroactiva completa, aplicaciones y bases de datos heredadas. Capacidad de incrustación: Biblioteca de desarrollo de clase.

Propietario

PostgreSQL

sistema manejador de base de datos relacional orientada a objetos de software libre, publicado bajo la licencia BSD

Alta concurrencia. Mediante un sistema denominado MVCC PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos.

provee nativamente soporte para: Números de precisión arbitraria. Texto de largo ilimitado. Figuras geométricas. Direcciones IP. Bloques de direcciones estilo CIDR. Direcciones MAC. Arrays.

Libre

PostgreSQL Global Development Group 8.4 (1 de julio de 2009) BSD Multiplataforma www.postgresql.org

Oracle

Sistema manejador de base de datos relacional, desarrollado por Oracle Corporation.

Soporta transacciones. Estabilidad. Escalabilidad. Soporta multiplataforma.

Propietario

Oracle DataBase, Oracle Corporation 11g Release 1 (2007) Multiplataforma Privada www.oracle.com

Firebird

Sistema manejador de base de datos relacional de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++.

Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.

Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net

Libre

Firebird Project 2.1.0 (18 de abril de 2008) C++ Multiplataforma IPL, IDPL www.firebirdsql.org www.firebird.com.mx

Microsoft SQL Server

Es un sistema manejador de bases de datos relacionales (SGBD) basado en el lenguaje Transact-SQL, y específicamente en Sybase IQ, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.

Soporta transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados.

Permite el uso de comandos DDL y DML.

Server incluye interfaces de acceso para varias plataformas de desarrollo.

Propietario

Microsoft SQL Server, Microsoft 10.00.1600.22 (2 de agosto de 2008) Transact-SQL y Sybase IQ Microsoft Windows Microsoft EULA www.microsoft.com/sql/

SQLite

sistema manejador de bases de datos relacional compatible con ACID, y que está contenida en una relativamente pequeña biblioteca

La biblioteca implementa la mayor parte del estándar SQL-92, incluyendo transacciones de base de datos atómicas, consistencia de base de datos, aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas complejas.

Libre

SQLite D. Richard Hipp 3.6.16 (27 de junio de 2009) C Multiplataforma Dominio público www.sqlite.org

Visual FoxPro

Es un lenguaje de programación orientado a objetos y procedural, un Sistema Manejador de Bases de datos o Database Management System (DBMS)

Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web.

También puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.

Propietario

Apache Derby

Sistema manejador de base de datos relacional escrito en Java que puede ser embebido en aplicaciones Java y utilizado para procesos de transacciones online.

Soporta cifrado completo, roles y permisos.

Soporta internamente procedures, cifrado y compresión.

Trae soporte multilenguaje y localizaciones específicas.

Libre

Apache derby, Apache Software Foundation 10.4.2.0 (5 de septiembre de 2008) Multiplataforma Apache license 2.0






Como ya vimos todos los Sistemas Manejadores de Base de Datos son adecuados para la elaboración y diseño de cualquier base de datos, pero nuestras necesidades siempre serán diferentes como vimos algunos SMBD son manipuladores de multiplataforma, en su mayoría, y también pudimos observar que son de diferente tipo de códigos, libre o propietario, es decir, su descarga puede ser gratuita o debemos de pagar por su licencia, en conclusión en esta era hay muchos SMBD la elección está en nosotros y en nuestros requerimientos que necesitemos, para poder hacer uso de ellos.