🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #1954

Re: Consulta

#1954
From: YiCi en Jotmeil
Date: Fri, 07 Apr 2006 20:09
116 lines
4701 bytes
"Erasure" <nn@nn.com> wrote in news:e0s1qq$o5$1@news.nivel5.cl:

> Hola a todos, por casualidad habr� alguien por ac� que me pueda dar
> una definicion sencilla de que es Modelamiento de datos, he encontrado
> definiciones algo complejas, y no entiendo muy bien (no soy muy metido
> en el area de programacion, pero necesito saber que significa
> Mdelamiento de datos.
> 
> 
> 

Modelar una base de datos es "realizar un modelo abstracto que reprente 
una porcion de la realidad".

Si en la realidad tenemos a Juan Perez, Arquitecto que vive en La Serena 
y que tiene una esposa que est� mas rica que el pan con Chancho, entonces 
en nuestro mundo modelado, existen las PERSONAs, las que tienen un 
NOMBRE, APELLIDO, PROFESION, LUGAR_DE_RESIDENCIA y ESTADO_CIVIL, y una 
persona en particular es NOMBRE="Juan", APELLIDO="Perez", 
PROFESION="Arquitecto", LUGAR_DE_RESIDENCIA="La Serena", 
ESTADO_CIVIL="CASADO".

As� existir� la TABLA PERSONA, en que cada registro posee los siguientes 
atributos:

TABLA PERSONA
-------------
ATRIBUTO PERSONA.NOMBRE,
ATRIBUTO PERSONA.APELLIDO,
ATRIBUTO PERSONA.PROFESION,
ATRIBUTO PERSONA.LUGAR_DE_RESIDENCIA,
ATRIBUTO PERSONA.ESTADO_CIVIL.

Luego, se dice que cosa vamos a almacenar en cada atributo. Claramente en 
el ATRIBUTO PERSONA.NOMBRE se almacenar�n nombres, por lo que se podr�n 
poner letras y caracteres acentuados. Por otro lado debera permitir una 
longitud m�xima (a fin de calcular cuanto espacio se debe disponer para 
almacenar cada registro). As� surgen el TIPO y su LARGO. Tipicamete se 
definan como TIPO(LARGO).

TABLA PERSONA
-------------
ATRIBUTO PERSONA.NOMBRE TEXTO(20)
ATRIBUTO PERSONA.APELLIDO TEXTO(20)
ATRIBUTO PERSONA.PROFESION TEXTO(20)
ATRIBUTO PERSONA.LUGAR_DE_RESIDENCIA TEXTO(20)
ATRIBUTO PERSONA.ESTADO_CIVIL TEXTO(20)

Ahora, dado que hay muchas personas que pueden llamarse igual, 
necesitamos a�adir un atributo o conjunto de atributos que sean �nicos 
para cada persona. Usando el Rut quedaria como sigue:

TABLA PERSONA
-------------
ATRIBUTO PERSONA.RUT TEXTO(10)
ATRIBUTO PERSONA.NOMBRE TEXTO(20)
ATRIBUTO PERSONA.APELLIDO TEXTO(20)
ATRIBUTO PERSONA.PROFESION TEXTO(20)
ATRIBUTO PERSONA.LUGAR_DE_RESIDENCIA TEXTO(20)
ATRIBUTO PERSONA.ESTADO_CIVIL TEXTO(20)

Depurando un poco el modelo podriamos tener algo as�:

TABLA PERSONA
-------------
ATRIBUTO �NICO PERSONA.RUT NUMERICO(8)
ATRIBUTO PERSONA.RUT_DV TEXTO(1)
ATRIBUTO PERSONA.NOMBRES TEXTO(20)
ATRIBUTO PERSONA.APELLIDO_PATERNO TEXTO(20)
ATRIBUTO PERSONA.APELLIDO_MATERNO TEXTO(20)
ATRIBUTO PERSONA.APELLIDO_TELEFONO NUMERICO(8)
ATRIBUTO PERSONA.PROFESION TEXTO(20)
ATRIBUTO PERSONA.DOMICILIO TEXTO(50)
ATRIBUTO PERSONA.ESTADO_CIVIL TEXTO(20)

De aqu� se pasa a la sintaxis de creaci�n del motor de base de datos 
adecuado:

CREATE TABLE PERSONA AS 
{
    	PRIMARY KEY RUT NUMERIC LENGHT 8
    	RUT_DV STRING LENGHT 1
    	NOMBRES STRING LENGHT 20
    	APELLIDO_PATERNO STRING LENGHT 20
    	APELLIDO_MATERNO STRING LENGHT 20
    	TELEFONO NUMERIC LENGHT 8
    	PROFESION STRING LENGHT 20
    	DOMICILIO STRING LENGHT 50
    	ESTADO_CIVIL STRING LENGHT 20
};

o bien algo mas f�cil como:

CREATE TABLE PERSONA (RUT NUMERIC(8), INDEX(RUT(10), 	RUT_DV TEXT(1), 
NOMBRES TEXT(20), APELLIDO_PATERNO TEXT(20), APELLIDO_MATERNO TEXT(20), 
TELEFONO NUMERIC(8), PROFESION TEXT(20), DOMICILIO TEXT(50), ESTADO_CIVIL 
TEXT(20));

o bien algo m�s estandar como:

create table persona (
  rut              number(8) primary key,
  rut_dv           varchar2(1),
  nombres          varchar2(20),
  apellido_paterno varchar2(20),
  apellido_materno varchar2(20),
  telefono         number(8), 
  profesion        varchar2(20),
  domicilio        varchar2(50), 
  estado_civil     varchar2(20)
)


Ojala le sirva estimado.

Er YiCi
Technical Details
Message-ID: <Xns979EA11F0167CYiCi@200.27.3.23>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!news.vcd.cl!not-for-mail!news.telmexchile.cl!not-for-mail
References: <e0s1qq$o5$1@news.nivel5.cl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,9bfad78c045bcd3f
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
From: YiCi  en Jotmeil <YiCiHotm@il.com>
Newsgroups: chile.comp.programacion
Subject: Re: Consulta
Date: Fri, 7 Apr 2006 20:09:30 +0000 (UTC)
Organization: Your Company
Lines: 119
Message-ID: <Xns979EA11F0167CYiCi@200.27.3.23>
References: <e0s1qq$o5$1@news.nivel5.cl>
NNTP-Posting-Host: 200.27.237.34
X-Trace: spawn.telmexchile.cl 1144440570 22207 200.27.237.34 (7 Apr 2006 20:09:30 GMT)
X-Complaints-To: usenet@rdc.cl
NNTP-Posting-Date: Fri, 7 Apr 2006 20:09:30 +0000 (UTC)
User-Agent: Xnews/5.04.25
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!news.vcd.cl!not-for-mail!news.telmexchile.cl!not-for-mail