[#57185] Cipher book for ruby — Shannon Fang <xrfang@...>

Hi all ruby gurus there,

16 messages 2002/12/01

[#57228] What do some of Ruby's symbols mean? — "Gavin Sinclair" <gsinclair@...>

This could do with some community input before going to the FAQ. The format

31 messages 2002/12/01
[#57234] Re: [FAQ] What do some of Ruby's symbols mean? — dblack@... 2002/12/01

Hi --

[#57237] Re: [FAQ] What do some of Ruby's symbols mean? — Shannon Fang <xrfang@...> 2002/12/01

Hi David

[#57246] [Revised] What do some of Ruby's symbols mean? — "Gavin Sinclair" <gsinclair@...>

Thanks for the instant feedback. And apologies for the offensive late-night

11 messages 2002/12/01

[#57337] Memory consumption problem with recursion — squidster@... (Squidster)

Fellow Rubyists/Rubyians/Rubyans,

10 messages 2002/12/02

[#57349] [Revised again] What are the non-alphanumerical symbols in Ruby code? — "Gavin Sinclair" <gsinclair@...>

Folks,

13 messages 2002/12/02

[#57380] Ruby Book for People Who Aren't (Yet) Programmers — "Chris" <nemo@...>

Hello,

11 messages 2002/12/02

[#57403] Newsgroup — Daniel Carrera <dcarrera@...>

Hello,

28 messages 2002/12/02
[#57409] Re: Newsgroup — "Chris Morris" <chrismo@...> 2002/12/02

In addition, this mailing list is a mirror of the newsgroup, so there's no

[#57411] Re: Newsgroup — Daniel Carrera <dcarrera@...> 2002/12/02

Ruby Book for People Who Aren't (Yet) Programmers

[#57412] Re: Newsgroup — Mauricio Fern疣dez <batsman.geo@...> 2002/12/02

On Tue, Dec 03, 2002 at 04:50:10AM +0900, Daniel Carrera wrote:

[#57438] Re: Newsgroup — Daniel Carrera <dcarrera@...> 2002/12/03

> You might already have received it by now. Get used to receiving the

[#57439] Re: Newsgroup — "Gavin Sinclair" <gsinclair@...> 2002/12/03

[#57440] Re: Ruby Book for People Who Aren't (Yet) Programmers — Daniel Carrera <dcarrera@...> 2002/12/03

> I heard a little while back that there might be a Ruby book in the works for

[#57480] Re: Ruby Book for People Who Aren't (Yet) Programmers — Martin DeMello <martindemello@...> 2002/12/03

Daniel Carrera <dcarrera@math.umd.edu> wrote:

[#57598] Class variables problem — Peter Hickman <peter@...>

I have used

16 messages 2002/12/04

[#57694] Re: Ruby Book for People Who Aren't (Yet) Programmers — "Bill Kelly" <billk@...>

Hi,

13 messages 2002/12/05

[#57735] Re: elseif? — "Shannon Fang" <xrfang@...>

How about a vote? I vote to add elseif as an alternative... Least

20 messages 2002/12/05

[#57816] ratlast 0.1 -- embedded FORTH in Ruby — Mark Probert <probertm@...>

18 messages 2002/12/05

[#57826] Re: elseif? — "Ted" <ted@...>

Yuk! Ruby was presented to me as a 'clean' language.

38 messages 2002/12/05

[#57833] on error resume next — Shannon Fang <xrfang@...>

Hi,

22 messages 2002/12/05

[#57856] Buffered output on Windows — "Chris Pine" <nemo@...>

Quick question:

26 messages 2002/12/05

[#58093] Thank God for backups — Daniel Carrera <dcarrera@...>

I was working on the tutorial just now and wanted to delete all the *~

48 messages 2002/12/07
[#58096] Re: Thank God for backups — "Gavin Sinclair" <gsinclair@...> 2002/12/07

From: "Daniel Carrera" <dcarrera@math.umd.edu>

[#58188] The Ruby Way — Daniel Carrera <dcarrera@...>

What do people think of "The Ruby Way"?

18 messages 2002/12/08

[#58394] Ruby BUG when using PStore and fork — Jeremy Henty <jeremy@...>

PStore does not appear to play well with fork. This script

20 messages 2002/12/09

[#58438] warnings -w — Daniel Carrera <dcarrera@...>

Hello,

20 messages 2002/12/10
[#58439] Re: warnings -w — matz@... (Yukihiro Matsumoto) 2002/12/10

Hi,

[#58441] Re: warnings -w — Daniel Carrera <dcarrera@...> 2002/12/10

> It sets $VERBOSE to true, and gives you extra warnings on parsing.

[#58444] Re: warnings -w — matz@... (Yukihiro Matsumoto) 2002/12/10

[#58446] Re: warnings -w — Daniel Carrera <dcarrera@...> 2002/12/10

> |Thanks. Can you give me an example of a parsing warning that it would

[#58447] Re: warnings -w — matz@... (Yukihiro Matsumoto) 2002/12/10

Hi,

[#58473] Problems transporting nil values using XMLRPC (net/http ?) — Martin Hart <martin@...>

12 messages 2002/12/10

[#58479] Pymacs in ruby? — "Mike Campbell" <michael_s_campbell@...>

This is probably way, way OT, but has anyone considered something along the

15 messages 2002/12/10

[#58597] calling a perl script — max <max@...>

hi

17 messages 2002/12/11

[#58657] functional programming "style" — "zesar" <i_wont@...>

i discovered ruby some weeks ago and i have to say now that i'm through with

13 messages 2002/12/11

[#58662] Re: The coolest thing since sliced bread — "Garriss, Michael" <Michael.Garriss@...>

Ugh! Free write forces users into a new editor? I'm lost without Vim.

21 messages 2002/12/11

[#58677] help -- persuade my boss to adopt ruby — Shannon Fang <xrfang@...>

Hi Ruby Lovers,

18 messages 2002/12/11

[#58689] Re: [ANN] jabber4r 0.3.0 (doesn't work with raa-install) — ptkwt@...1.aracnet.com (Phil Tomson)

15 messages 2002/12/11
[#58751] Re: [ANN] jabber4r 0.3.0 (doesn't work with raa-install) — ptkwt@...1.aracnet.com (Phil Tomson) 2002/12/12

In article <20021211171825.GA2345@localhost.localdomain>,

[#58724] Problem loading extensions in OSX 10.2.2 — Dave Thomas <Dave@...>

12 messages 2002/12/12

[#58730] Re: do I really not understand inheritance?? — "Chris Pine" <nemo@...>

AHA!!!

22 messages 2002/12/12
[#58769] Re: do I really not understand inheritance?? — dblack@... 2002/12/12

Hi --

[#58785] Re: do I really not understand inheritance?? — "Chris Pine" <nemo@...> 2002/12/12

Hmm.... I see what you're saying, I think. I was going to give you a

[#58819] Re: do I really not understand inheritance?? — dblack@... 2002/12/12

Hi --

[#58738] Re: help -- persuade my boss to adopt ruby — "Ted" <ted@...>

Dang! Ugly American idioms...

15 messages 2002/12/12
[#58742] Re: help -- persuade my boss to adopt ruby — "Russ Freeman" <russ@...> 2002/12/12

My advice:

[#58804] Re: help -- persuade my boss to adopt ruby — "Shannon Fang" <xrfang@...>

>it's the MATZ'S position that Ruby will never be REAL WORLD language.

102 messages 2002/12/12
[#59161] Re: help -- persuade my boss to adopt ruby — "Hal E. Fulton" <hal9000@...> 2002/12/16

----- Original Message -----

[#59181] Re: help -- persuade my boss to adopt ruby — "Bulat Ziganshin" <bulatz@...> 2002/12/16

Hello Hal,

[#59295] Re: help -- persuade my boss to adopt ruby — "Rich" <rich@...> 2002/12/17

The problem lies in the fact that these statements are equal:

[#59325] Re: help -- persuade my boss to adopt ruby — Austin Ziegler <austin@...> 2002/12/17

On Tue, 17 Dec 2002 16:49:47 +0900, Rich wrote:

[#59407] Re: help -- persuade my boss to adopt ruby — "Gavin Sinclair" <gsinclair@...> 2002/12/18

From: "Dan Sugalski" <dan@sidhe.org>

[#58870] replace setup.rb/install.rb with builtin module — ptkwt@...1.aracnet.com (Phil Tomson)

I proposed this idea last night on the tail-end of another thread and on

10 messages 2002/12/12

[#58913] Inheritance Question — Jim Freeze <jim@...>

Hi

38 messages 2002/12/12
[#58957] Re: Inheritance Question — "Gavin Sinclair" <gsinclair@...> 2002/12/13

From: "Jim Freeze" <jim@freeze.org>

[#58973] Re: Inheritance Question — Jim Freeze <jim@...> 2002/12/13

On Friday, 13 December 2002 at 15:45:27 +0900, Gavin Sinclair wrote:

[#58974] Re: Inheritance Question — ts <decoux@...> 2002/12/13

>>>>> "J" == Jim Freeze <jim@freeze.org> writes:

[#58993] Re: Inheritance Question — ahoward <ahoward@...> 2002/12/13

[#58998] Re: Inheritance Question — ts <decoux@...> 2002/12/13

>>>>> "a" == ahoward <ahoward@fsl.noaa.gov> writes:

[#59002] Re: Inheritance Question — ahoward <ahoward@...> 2002/12/13

On Sat, 14 Dec 2002, ts wrote:

[#59003] Re: Inheritance Question — ts <decoux@...> 2002/12/13

>>>>> "a" == ahoward <ahoward@fsl.noaa.gov> writes:

[#59108] un-extending objects — dblack@...

Hi --

17 messages 2002/12/15

[#59174] Toward ruby-lang.org renewal; trial website offered — matz@... (Yukihiro Matsumoto)

Hi,

33 messages 2002/12/16
[#59202] Re: Toward ruby-lang.org renewal; trial website offered — Trevor.Jenkins@... (Trevor Jenkins) 2002/12/16

On Mon, 16 Dec 2002 14:26:19 +0900, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

[#59203] Re: Toward ruby-lang.org renewal; trial website offered — Tim Bates <tim@...> 2002/12/16

On Mon, 16 Dec 2002 08:11 pm, Trevor Jenkins wrote:

[#59204] Re: Toward ruby-lang.org renewal; trial website offered — "NAKAMURA, Hiroshi" <nahi@...> 2002/12/16

Hi, all,

[#59343] OT: Functional Language Recommendation — Wai-Sun Chia <waisun.chia@...>

Sorry for the OT post, but I need some advise from some like-minded

23 messages 2002/12/17

[#59392] Re: [OT] RE: help -- persuade my boss to adopt ruby — "Austin Ziegler" <austin@...>

> Ok, I confess: I know nothing about data

10 messages 2002/12/17

[#59508] ANN: FXRuby-1.0.17 Now Available — Lyle Johnson <lyle@...>

-----BEGIN PGP SIGNED MESSAGE-----

15 messages 2002/12/18
[#59518] Re: ANN: FXRuby-1.0.17 Now Available — Jim Freeze <jim@...> 2002/12/18

On Thursday, 19 December 2002 at 2:51:08 +0900, Lyle Johnson wrote:

[#59537] Re: ANN: FXRuby-1.0.17 Now Available — Lyle Johnson <lyle@...> 2002/12/18

Jim Freeze wrote:

[#59568] Re: ANN: FXRuby-1.0.17 Now Available — Jim Freeze <jim@...> 2002/12/19

On Thursday, 19 December 2002 at 7:11:59 +0900, Lyle Johnson wrote:

[#59617] Re: ANN: FXRuby-1.0.17 Now Available — Lyle Johnson <lyle@...> 2002/12/19

Jim Freeze wrote:

[#59635] FXRuby and OS X 10.2 (Re: ANN: FXRuby-1.0.17 Now Available) — Brian Wisti <brian@...> 2002/12/19

Hi Lyle,

[#59564] Test::Unit 0.1.5 — <nathaniel@...>

What with all the holiday cheer going around (who can't be cheerful with

24 messages 2002/12/19
[#59621] Re: [ANN] Test::Unit 0.1.5 — Lyle Johnson <lyle@...> 2002/12/19

nathaniel@NOSPAMtalbott.ws wrote:

[#59625] Re: [ANN] Test::Unit 0.1.5 — <nathaniel@...> 2002/12/19

Lyle Johnson [mailto:lyle@users.sourceforge.net] wrote:

[#59808] ANN: FreeRIDE 0.5.0 Release Candidate 1 — "Curt Hibbs" <curt@...>

[drum roll...]

24 messages 2002/12/23

[#59834] ruby-dev summary 19069-19150 — TAKAHASHI Masayoshi <maki@...>

Hello all,

15 messages 2002/12/24

[#59854] ANN: ruby 1.6.8 — matz@... (Yukihiro Matsumoto)

Hello everyone,

16 messages 2002/12/24

[#59954] 1210 / 100 = 12? what? — Tom Sawyer <transami@...>

can someone explain this to me:

35 messages 2002/12/27
[#59955] Re: 1210 / 100 = 12? what? — Gavin Sinclair <gsinclair@...> 2002/12/27

Hello Tom,

[#59957] Re: 1210 / 100 = 12? what? — Tom Sawyer <transami@...> 2002/12/27

no i didn't realize that. i thought ruby would automatically change it to a

[#59962] Re: 1210 / 100 = 12? what? — Brian Wisti <brian@...> 2002/12/27

Hi Tom,

[#59968] Re: 1210 / 100 = 12? what? — Tom Sawyer <transami@...> 2002/12/27

On Thursday 26 December 2002 11:42 pm, Brian Wisti wrote:

[#59984] Re: 1210 / 100 = 12? what? — Philipp Meier <meier@...> 2002/12/27

On Fri, Dec 27, 2002 at 04:10:59PM +0900, Tom Sawyer wrote:

[#59985] Re: 1210 / 100 = 12? what? — Lloyd Zusman <ljz@...> 2002/12/27

Philipp Meier <meier@meisterbohne.de> writes:

[#60006] Ruby & Preprinted forms - will they work together? — colotechpro@... (John Reed)

I'm a Ruby newbie, but I've decided to write a commercial application

18 messages 2002/12/27

[#60016] Installing Fox, FXRuby and fxscintilla — Daniel Carrera <dcarrera@...>

I want to try out FreeRide, but just installing its dependencies has been

22 messages 2002/12/27
[#60018] Re: Installing Fox, FXRuby and fxscintilla — Lyle Johnson <lyle@...> 2002/12/28

Daniel Carrera wrote:

[#60050] RAA suggestions — Gavin Sinclair <gsinclair@...>

1. Reserve "what's new" for genuinely new packages. Introduce a

15 messages 2002/12/28

[#60146] rbbr 0.2rev1 bombs out! — Wai-Sun Chia <waisun.chia@...>

rbbr is looking for a rbbr/config.rb module which is non-existent..

20 messages 2002/12/30
[#60147] Re: rbbr 0.2rev1 bombs out! — Masao Mutoh <mutoh@...> 2002/12/30

Hi,

[#60149] Re: rbbr 0.2rev1 bombs out! — Wai-Sun Chia <waisun.chia@...> 2002/12/30

Huh?

[#60188] Range#size — Martin DeMello <martindemello@...>

I think I missed something - why is Range#size (and all its synonyms)

19 messages 2002/12/30
[#60210] Re: Range#size — matz@... (Yukihiro Matsumoto) 2002/12/31

Hi,

[#60223] Re: Range#size — Gennady Bystritsky <bystr@...> 2002/12/31

From: Gennady F. Bystritsky <gfb@tonesoft.com>

[#60206] Developing a website — "Shashank Date" <sdate@...>

I am planning to use Ruby to develop a website which will be hosted on

17 messages 2002/12/31

[#60217] ENV.clear — zhoujing@... (TOTO)

I tried

15 messages 2002/12/31

[#60221] win32_popen 0.1 — "Park Heesob" <phasis@...>

Hi, all.

15 messages 2002/12/31

Re: [OT] RE: help -- persuade my boss to adopt ruby

From: "Austin Ziegler" <austin@...>
Date: 2002-12-17 22:22:10 UTC
List: ruby-talk #59392
> Ok, I confess: I know nothing about data
> modelling -- and I assume you don't just
> mean ADT's. (I don't even know what you
> mean by it, so it may be a terminology / > language issue, but most likely I'm just
> ignorant.)

It is a confusing term, so I'll do my best
to explain it as I mean it. I may end up
writing an article about it and putting it
up, so don't take this as definitive.

Data Modeling can mean one of several things, depending on the context. When I use it, I most often mean it in the sense of database design. (It's something of a specialty of mine; one of several.) However, it can also mean determining how the business uses the data. Object oriented design is a special case of data modeling, but one where too many OO "designers" focus on the functionality rather than the data (at least IME).

Although this book is Oracle-specific, it's still an excellent reference for real-world data modeling. Dave Ensor & Ian Stevenson wrote "Oracle Design" (O'Reilly, 1997). Chapter 3 is all about data modeling in the large. They say:

    "What is data modeling? It is simply a means of formally capturing the data that is of relevance to an organization in conducting its business. It is one of the fundamental analysis techniques in use today, the foundation on which we build relational databases."

I'm of the opinion that it's foundational to everything -- you have to have an understanding of the sort of data that you're dealing with so that you're not just dealing with it in the context of a single program. Data modeling is often considered part of analysis, but I actually believe that it's the role of the analyst and the designer together to work out the data model.

Data modeling fundamentally looks at the *relationships* behind the data -- any given piece of data dosn't stand in isolation.

One also normalizes one's data model -- at least in 3NF (3rd normal form). Codd defined normalization as the basis for removing unwanted "functional dependencies" from data entities, where an FD is when the value of an attribute can be known by knowing the value of another attribute in the same entity (the name of a country implies its capital city). It's also possible to have a "multivalued dependency" (one attribute determines a set of values of another attribute, such as the name of a country leading to the name of all of its airports). Normalization helps model the necessary data in two dimensions for relational databases without imposing too many conditions or compromising the data's integrity; it also reduces redundancy and inconsistency because of redundancy.

There are six normal forms: first (1NF), second (2NF), third (3NF), Boyce-Codd (BCNF), fourth (4NF), and fifth (5NF). The book that I've recommended covers these in detail. Normalization does proliferate entities, but it also makes each of those entities atomic -- you can change them without affecting unrelated data improperly.

1NF: Only atomic attribute values are allowed. All repeating groups must be removed and placed in a new related entity.

2NF: 1NF + non-key attributes must be fully dependent upon the primary key of the entity.

3NF: 2NF + non-key attributes must be ONLY dependent on the primary key (they may not depend on other non-key attributes). 3NF is often summarized by "All attributes of an entity must depend on the key, the whole key, and nothing but the key (so help me Codd)". Most folks won't go beyond 3NF, but they're good to know.

BCNF: 3NF + transitive dependencies removed. ("Table R is in BCNF if, for every nontrivial FD X -> A, X is a superkey.") BCNF may require a bit of added redundancy. IMO, The example that Ensor and Stevenson use for BCNF could have been simplified by the use of a proxy key (even though some folks frown on that, I find it useful).

4NF: 3NF/BCNF + removal of multiple multivalued dependencies. Ensor & Stevenson give a good example.

5NF: 4NF + resolving 3+ entities with many-to-many relationships to one another. This problem can show up with a data modeling tool that creates associative entities, resulting in a "join-projection anomaly"), so this form is sometimes called "join-projection normal form" (JPNF). Again, Ensor & Stevenson give a better example than I can.

Beyond simple data modeling, most "business" rules can be expressed as data themselves. Ensor & Stevenson point out that "most applications are designed to be code driven." The rules applied in a particular case are driven by choices within the code itself. I've switched largely to data-driven designs (see the state flow code in Bug Traction for an example; the flow is completely driven by the data within the tables; the code only supports that data -- well, mostly -- there's a little code flow left, but that will be disappearing when I decide to work on Bug Traction again, as the code flow is wrong).

There are times when one should denormalize as well, but that's as much an art as anything else.

Data modeling is, at least, IMO, a under-utilized skill and it's not taught nearly enough in CS programs. I had to teach myself with some good mentors in business -- but Ensor & Stevens helped a lot, too.

-a
-- 
austin ziegler
Sent from my Treo

In This Thread

Prev Next