Which one, perhaps SQL? Please, give me your advice...

Please remember the terms of your membership agreement.

Moderators: valis, garyb

User avatar
Nestor
Posts: 6683
Joined: Tue Mar 27, 2001 4:00 pm
Location: Fourth Dimension Paradise, Cloud Nine!

Post by Nestor »

If you were to go into Database matters, and you don't want to be the best programer in the world, but want to do a fair amount of it, which program would you get into to study it?

Perhaps Oracle SQL and PL/SQL?

I am so new to this, that whatever you may tell me will be of use.

I repeat that I don't want to be the best in the world, I just want to know enough to created Databases, period, don't want to spend my entire life on it. Cheers for your answers :smile:
Counterparts
Posts: 1963
Joined: Tue Aug 19, 2003 4:00 pm
Location: Bath, England

Post by Counterparts »

MySQL is pretty good...multi-platform support, still being developed and you can get ADO drivers for it too.

...and it's free! :smile:

We use it for our internal systems almost exclusively.

http://www.mysql.com/

HTH,

Royston
spoimala
Posts: 754
Joined: Thu Aug 29, 2002 4:00 pm
Location: Finland
Contact:

Post by spoimala »

MySQL is good choice indeed, if you want more functionality, head for PostgreSQL (http://www.pgsql.com/). Both come from unix/linux world, but there are ports for Windows, too.

Oracle is expensive like hell, and difficult to administer... I'd start learning databases with something easier, like MS SQL Server. There's lighter, free version MSDE of it.

One advice, stay away from "desktop database programs" like Paradox, MS Access etc if you want to study real databases.

EDIT: I'd not suggest to learn PL/SQL or any vendor specific extension, just study standard SQL, it'll work with most databases. If you sometime happen to need DB specifics, they are easy to study then.

<font size=-1>[ This Message was edited by: spoimala on 2003-11-14 07:09 ]</font>
User avatar
Ben Walker
Posts: 824
Joined: Mon Apr 23, 2001 4:00 pm
Contact:

Post by Ben Walker »

SQL is an ANSI standard, so any relational database supporting SQL will give you a basic grounding in the basics of getting stuff into and out of databases.

Oracle is excellent, but v pricey (although there may be trial versions or 'lite' versions available available), so if you just want to have a play something free like MySQL should be fine.

The basics of relational databases are pretty straightforward, the big names like Oracle just give you extras (scalability, support for different datatypes, procedural languages, import/export, etc).

Cheers,
Ben
marcuspocus
Posts: 2310
Joined: Sun Mar 25, 2001 4:00 pm
Location: Canada/France

Post by marcuspocus »

I would also opt for something like PostgreSQL, but not necessarily MySQL. Not for learning anyway, because MySQL lack some basics of relational database, like referential integrity check.

Even if i'm not really a 'microsoft' guy, Access is really good to learn, all the basics are there, and well laid out. Like the Entity-relation diagram builder, query builder etc... And it's pretty lite...

IF you can, even MS SQL server is pretty good, there is nice tools that goes with it, but you'll have to spend some more $$$... :sad:

For performance and features for price ratio, i would say postgresql beats them all :smile:

I used it very often on super big projects (Euronext project where we migrated Amsterdam+Paris+bruxels stocks exchange on a common platform) where we have hundreds of tables per server
and often more than 20 servers. Each table could hold millions of records, etc... And the expected maximum response time was fixed at 3sec. for the whole project.

That's what i call 'constraint' :smile:
Counterparts
Posts: 1963
Joined: Tue Aug 19, 2003 4:00 pm
Location: Bath, England

Post by Counterparts »

marcuspocus wrote:

Even if i'm not really a 'microsoft' guy, Access is really good to learn...
Bit OT there. We were discussing databases :grin:

True, MySQL does have some deficiencies, but if Nestor's just getting into this field, then features such as referential integrity check are a little way down the learning road. I would imagine that eventually the team will develop such features, e.g. the earlier releases didn't support inner joins, but this has since been implemented.

Royston

p.s. I note nobody's mentioned Informix! More like 'ReadyMix' :wink:
User avatar
astroman
Posts: 8446
Joined: Fri Feb 08, 2002 4:00 pm
Location: Germany

Post by astroman »

depends on what you're planning to do with it.

Make a living as a consultant or programmer: go Oracle, but thats no a learning curve - it's a wall :grin:
The conceptual stuff can be easily trained by some old demo CDs of the version 7 database. From version 8 on it's way more complex.

Wanna use database functions for your own programming and write something smart ?
Don't even consider SQL - it's a waste of time.

To be more precise: for certain business tasks with gigabytes of time synced storage the top of the line SQL servers are inevitable. They are optimized for such apps like business and accounting, but not for variable and smart information processing.

M$Access is great for quick and dirty setup of a couple of tables for some conversion tasks or just list browsing, but lacks any sophisticated DB functions.
Compare to Oracle it's a pile of sh*t. Never found something driving me that mad...

I've been promoting the LPA Prolog programming system frequently (I just aquired one for a project in the company I work for) :smile:
http://www.lpa.co.uk/ind_pro.htm

It may look strange at first glance, but it's the only thing I'd suggest to a non-programmer who needs programming and wants to succeed in a short amount of time - and it integrates perfectly with web based applications.
Seriously, I've been working with a dozen programming languages, but nothing is as compact and easy to understand as this system.

In fact it's more difficult for a 'real' programmer to start with it than for someone who has no experiences at all :smile:

A short example (for the programmers here):
Imagine a small app which opens a list of files and picks out unknown words which it adds to a kind of sorted dictionary (without duplicates) while simultaneously considering an exception list ?
In Prolog that's not even 100 lines of code and the result (as well as the 'exception list') is in :smile: database form, sortable and searchable without additional effort.

cheers, Tom
snoopy4ever
Posts: 367
Joined: Tue Feb 19, 2002 4:00 pm
Location: Costa Rica

Post by snoopy4ever »

I'd like to say to Nestor, that I agree that SQL is an standard language for relational databases.., But if Nestor wants to develop for clients to get some cash.. the sky is the limit.., they one day can show up with a requierment on MS Sql, other day Access, Oracle, etc.etc. Actually not even professional programmes are able to cover the whole spectrum... , it's a matter of specialization.

But as a start for a learning process I'd guess PL/SQL or MySQL are the right choice.

Good luck with that Nestor.

Snoopy
User avatar
Nestor
Posts: 6683
Joined: Tue Mar 27, 2001 4:00 pm
Location: Fourth Dimension Paradise, Cloud Nine!

Post by Nestor »

Thanks guys for your answers... :smile:

Well, it seems a trully wild field this one, isn't it?

I'm going to explain myself a little better this time, being more specific:

I am starting a serious learning of Dreamweaver and Flash MX, and plan to work with it in the near future for developing web pages and Multimedia Aplications. I will soon start studding Director MX too.

What do I want to do? I want to be able to manage most common database tools and tasks for web page functionality.

Because I'm into Macromedia MX stuff, I've been told to use ColdFusion MX as my best choice, which is a dedicated database program from Macromedia. Some other people, involved into this told me to get into Oracle.

I understand that databases are not an easy thing to study, that is why I don't want to give a false step here... I want to get to study the right thing for me. MySQL seems right , but it seems far too big for what I need. If you have any knowledge about ColfSuion, let me know what you think, I have to decide between them.

If ColdFusion is good enough and is as easy to learn as Macromedia claims it is, I would preffer to go with this one so.

I'm open to hear the wise database men here... :smile:
User avatar
valis
Posts: 7651
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Post by valis »

Coming in from Dreamweaver & Flash you might just look into php (or python) for the time being, and scale up to full database projects later.
User avatar
Nestor
Posts: 6683
Joined: Tue Mar 27, 2001 4:00 pm
Location: Fourth Dimension Paradise, Cloud Nine!

Post by Nestor »

This is what Planet Z is made of isn't it? But, do you mean PHP has some similarities in the handling of code to Dreamweaver?
User avatar
valis
Posts: 7651
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Post by valis »

PlanetZ uses a forum/bbs written in php yes. I simply suggest using php because it can interface with mysql (and others) when the time comes but its usable at any level of webdesign. For example you can modularize your pages and use snippits of html with php variables for dynamic content, and serve it all up with a php engine. Its not terribly complicated to learn and it does follow most structured programming forms allowing you to 'get your feet wet' so to speak and scale up quite a bit (most PhpBB forums such as this use MySQL as the backend for example).
spoimala
Posts: 754
Joined: Thu Aug 29, 2002 4:00 pm
Location: Finland
Contact:

Post by spoimala »

I'm amazed how many computer_related_nerdy_geeks there are here :eek:

marcuspocus, there is ER diagram builder in Access??? :eek: I didn't know that. I only knew of that 'Relationships' view.

Also, access is not suitable to WEb use since it is not meant for multiuser environments. Also, it is not real "server", that is, when you want to scale up your application and put the database to dedicated server, you'll have some problems with Access.

Nestor, DO NOT use Flash! :wink:

If you use MySQL or Postgres (with linux) there are wonderful amdin tool for them http://www.phpmyadmin.net/ for MySql and http://phppgadmin.sourceforge.net/ for Postgres.
User avatar
Nestor
Posts: 6683
Joined: Tue Mar 27, 2001 4:00 pm
Location: Fourth Dimension Paradise, Cloud Nine!

Post by Nestor »

I've been thinking a lot about it, and I probably will go the way Astroman suggested, with LPA, it does all need and it seems in a way simplrer than others for me. I guess it is a matter of time.

How long did it take for you guys to get into programing? Let's say you spend about 1 or 2 hours per day learning... One year, or many two or even three?
*MUSIC* The most Powerful Language in the world! *INDEED*
User avatar
Nestor
Posts: 6683
Joined: Tue Mar 27, 2001 4:00 pm
Location: Fourth Dimension Paradise, Cloud Nine!

Post by Nestor »

About Flash... Sorry Spoimala, but I already am into Flash... There is no comming back from it, it's a fantastic tool... :grin:
*MUSIC* The most Powerful Language in the world! *INDEED*
marcuspocus
Posts: 2310
Joined: Sun Mar 25, 2001 4:00 pm
Location: Canada/France

Post by marcuspocus »

On 2003-11-16 13:59, spoimala wrote:

marcuspocus, there is ER diagram builder in Access??? :eek: I didn't know that. I only knew of that 'Relationships' view.

Also, access is not suitable to WEb use since it is not meant for multiuser environments. Also, it is not real "server", that is, when you want to scale up your application and put the database to dedicated server, you'll have some problems with Access.
Obviously, you can't go too far using Access... :smile:

But the original question of Nestor was to learn SQL language. So, i really think, that using a tool with lotsa visual aids can help learn faster. Like building a query, just looking at manual can be disturbing, making a complex query using the integrated query builder then look at the result can be very instructive.

BTW, the 'relationships' view :wink: is really to build all the db's constraints. So yes, it's an ER diagram, in it's own right.

Since Nestor detailed a bit more his need, well, i just can propose about the same thing as all of you. With one twist :smile:

For an ALL FREE development environment, i would really use:

Eclipse IDE
Jakarta Tomcat

Why? Cuz It JAVA man!
I'm a Java guy, and i can say without any doubt, Java is better than any other language
for Web development... Read again ->web development<-

jsp+servlet+ any other tech for nice presentation like Flash, if you like that, that's the winning combination enterprises and mega corp buy in.

:smile:

Héhé, those who don't agree.. well, convince me!

No, seriously, don't try that...I'm already sold :wink:

Just a couple of related links:

http://java.sun.com/products/jsp/
http://java.com/en/index.jsp
http://jakarta.apache.org
http://www.eclipse.org


For database? what about those :
HSQLDB*
ObjectDB
Interbase*

* = free

Nestor, anything that do real sql92 at minimum, is really a good start to learn database. For web dev, there's more to it than just choosing a product. It a complete system and set of features you choose. Dreamweaver, is really only a tool, notepad would do. Less attractive but still would do the job.

There is:
PHP *
JSP (Java Server Page) *
ASP (Microsoft's Active Server Page)
ColdFusion (previously Allaire, now Macromedia)

And a couple more, less tempting, like Zope (wtf is that!?)

My corporate .02$ :grin: :grin:


Now, totally OT: I've been able to run the Mod73 of Ken in XTC mode in Nuendo2 with all parameters appearing in automation, etc...
:smile:
Héhé...Just to tease you... Wanna screenshot? :wink:


<font size=-1>[ This Message was edited by: marcuspocus on 2003-11-16 18:04 ]</font>
User avatar
Nestor
Posts: 6683
Joined: Tue Mar 27, 2001 4:00 pm
Location: Fourth Dimension Paradise, Cloud Nine!

Post by Nestor »

Thanks very much Marcus, cool links to learn a bit more about the general thing. It trully is an inmense world this of programing, amazing! :eek:

One more question for you Marcus... Have you ever used Coldfusion? Why do people say it is so easy to learn?
User avatar
astroman
Posts: 8446
Joined: Fri Feb 08, 2002 4:00 pm
Location: Germany

Post by astroman »

On 2003-11-16 17:35, marcuspocus wrote:
...Héhé, those who don't agree.. well, convince me! ...
naahhh, Marcus, you're making an aweful lot of money with that coffee stuff :grin:

but I have something for you to think:
M$'s latest trick - I never expected that there would be an 80's revival in software developement :lol:

after more than a decade of polluting countless systems with the visual plage they finally come to their mind and decide:

STOP - it's all too complicated. We need another level, 'metaprogramming', let's propagate it as 'functional' and call it F# (a good interval after C#)

According to some announcement that F# is based on ML, which is written in Scheme, which itself is a dialect of LISP.
That was state of the art software engineering when the DX7 ruled the synth-world :grin:
LISP and Prolog (the one I mentioned previously in the thread) were the main tools for such applications closely related to language processing and knowledge engineering - but perfectly fit todays need for data mining, analysis of web activities, XML encoding, 'responsive' web sites etc.

Well, I don't find it exactly funny.
What could make me feel strong about my own position during project management of my current job ('the biggest software seller made the same decision...') might as well end in 'an offer you cannot reject' to LPA :roll:

cheers, Tom
User avatar
John Cooper
Moderator
Posts: 1182
Joined: Thu Mar 22, 2001 4:00 pm
Location: Planet Z
Contact:

Post by John Cooper »

As Valis hinted, planetz itself uses MySQL as its back-end. The forum is based on an old version of phpBB which I heavily modified to implement all our file-sharing stuff. I learned php while building these forums.

To those recommending PHP, I'd say it's probably a bit challenging for a beginning programmer. The syntax is very similar to C, which is not trivial. But it's true that it is invaluable in building dynamic web pages. I also love the python language and would recommend it as a good starter language for beginning programmers. It's great for writing CGI scripts- most of my web projects use a combination of php and python.

As for Spoimala's point about the geeks among us, almost every programmer I know is also a musician. True, I've worked as a programmer in the music industry for a number of years, but even before that, I found that many many programmers are also musicians. I think you need the same kind of brain - both require an enormous amount of creativity and also logic, meticulousness, attention to detail, patience, perserverence :smile:

Cheers,
-John
marcuspocus
Posts: 2310
Joined: Sun Mar 25, 2001 4:00 pm
Location: Canada/France

Post by marcuspocus »

Hi John, yeah, you're right, there is alot of qualities that programmers and musicians have in common. For example, i'm part of a (small?) band of 9 people, and 7 of them earn their living working in IT company.

For me it's kind of a relief to do music. All day i have to be pragmatic, logic, etc. When i do music, i disconnect from this, and to create abstract stuff like music really helps my 'mental' health. :grin:

Astroman, this F# thingy could be nice. LiSP, Scheme, F#?... great! :smile:

<font size=-1>[ This Message was edited by: marcuspocus on 2003-11-17 01:54 ]</font>
Post Reply