🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #818

Re: RoR vs PHP

#818
From: Jaroslaw Zabiello
Date: Tue, 01 Jan 2008 01:10
75 lines
2997 bytes
On Mon, 31 Dec 2007 23:49:24 -0000, Maciej Piechotka  
<uzytkownik2@gmail.com> wrote:

> class Parent
>   attr_accessor :pole_parent
> end
>
> class Child1 < Parent
>   attr_accessor :pole1
> end
>
> class Child2 < Parent
>   attr_accessor :pole2
> end
>
> Rozwiązanie nr1(W rails):
>
> CREATE TABLE parents (
>   id INTEGER PRIMARY KEY AUTO_INCREMENT,
>   type STRING NOT NULL, /* 'Parent', 'Child1' albo 'Child2' */
>   pole_parent STRING,
>   pole1 STRING,
>   pole2 STRING
> );
>
> Rozwiązanie nr2:
>
> CREATE TABLE parents (
>   id INTEGER PRIMARY KEY AUTO_INCREMENT,
>   pole_parent STRING
> );
>
> CREATE TABLE childs1 (
>   id INTEGER PRIMARY KEY AUTO_INCREMENT,
>   pole_parent STRING,
>   pole1 STRING
> );
>
> CREATE TABLE childs2 (
>   id INTEGER PRIMARY KEY AUTO_INCREMENT,
>   type STRING NOT NULL,
>   pole_parent STRING,
>   pole2 STRING
> );
>
> Rozwiązanie nr 3:
>
> CREATE TABLE parents (
>   id INTEGER PRIMARY KEY AUTO_INCREMENT,
>   pole_parent STRING
> );
>
> CREATE TABLE childs1 (
>   parent_id INTEGER PRIMARY KEY,
>   pole1 STRING,
>   CONSTRAINT childs1_parent_id FOREIGN KEY
> );
>
> CREATE TABLE childs2 (
>   parent_id INTEGER PRIMARY KEY,
>   pole2 STRING,
>   CONSTRAINT childs2_parent_id FOREIGN KEY
> );

Nic z tego nadal nie rozumiem. Przecież to, co stanowi faktyczne dane, to  
tabele w bazie. Taka struktura bazy jest konkretna i stała i w mapowaniu  
ORM chodzi o to aby tą materialną strukturę przedstawić za pomocą jakiś  
abstrakcji językowych. Ty zaś podajesz różne definicje tabel o tej samej  
nazwie... To w końcu która kwerenda tworzy tabelę childs1? Przecież nie  
mogą dotyczyć tej samej tabeli bo mają inne kolumny i klucz główny. A  
jeśli dotyczą dwóch różnych tabel to dlaczego noszą tą samą nazwę?

-- 
Jarosław Zabiełło
http://blog.zabiello.com
Technical Details
Message-ID: <op.t3777x1jr2rg33@jzmbp.local>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <fl6ahk$m1q$1@inews.gazeta.pl> <op.t351icnsr2rg33@jzmbp.local> <fl93bh$d8p$1@inews.gazeta.pl> <r4il45-1ar.ln1@router.piechotka.com.pl> <op.t358bkfwr2rg33@jzmbp.local> <fl9aau$9b9$5@inews.gazeta.pl> <20071231084648.6d47feda.gryf_esm-no@spam-o2.pl> <op.t37dq3ydr2rg33@jzmbp.local> <0enn45-u25.ln1@router.piechotka.com.pl> <op.t37qnpdrr2rg33@jzmbp.local> <3pbo45-ha7.ln1@router.piechotka.com.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Jaroslaw Zabiello" <abuse@tpnet.pl>
Newsgroups: pl.comp.lang.ruby
Subject: Re: RoR vs PHP
Date: Tue, 01 Jan 2008 01:10:35 -0000
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 75
Message-ID: <op.t3777x1jr2rg33@jzmbp.local>
References: <fl6ahk$m1q$1@inews.gazeta.pl> <op.t351icnsr2rg33@jzmbp.local> <fl93bh$d8p$1@inews.gazeta.pl> <r4il45-1ar.ln1@router.piechotka.com.pl> <op.t358bkfwr2rg33@jzmbp.local> <fl9aau$9b9$5@inews.gazeta.pl> <20071231084648.6d47feda.gryf_esm-no@spam-o2.pl> <op.t37dq3ydr2rg33@jzmbp.local> <0enn45-u25.ln1@router.piechotka.com.pl> <op.t37qnpdrr2rg33@jzmbp.local> <3pbo45-ha7.ln1@router.piechotka.com.pl>
NNTP-Posting-Host: 89.124.240.242
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1199149837 17429 89.124.240.242 (1 Jan 2008 01:10:37 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Tue, 1 Jan 2008 01:10:37 +0000 (UTC)
X-User: hipertracker
User-Agent: Opera Mail/9.25 (MacIntel)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit