many queries versus big joins

2004-01-20 Thread Stephen Fromm
In general, is it more efficient to do many queries or one "large" query
with many joins?


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Join only the latest entry...

2003-12-03 Thread Stephen Fromm

- Original Message - 
From: "Ville Mattila" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, December 03, 2003 4:07 AM
Subject: Join only the latest entry...


> Hello there,
>
> I have a table including information about my projects, the structure
> has each id and name. Then I have another table including status
> information of each project: entryid, projectid, status and timestamp.
>
> Is there any possibility to fetch a list of projects with the most
> recent status by one query? I can do it of course by two different
> queries, but I don't find it as very good solution.

Have you tried a straightforward join?  Something like
SELECT table1.name FROM table1, table2
WHERE table1.id = table2.entryid AND
  {expressing constraining the date in table2 to be fairly
recent}

>
> Thanks,
> Ville
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Query Help

2003-12-02 Thread Stephen Fromm

- Original Message - 
From: "Chris Boget" <[EMAIL PROTECTED]>
To: "Greg Jones" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Tuesday, December 02, 2003 8:32 AM
Subject: Re: Query Help


> > Access.  However, when I run it against MySQL I get an error.
> > select l.ltsysid,l.lientraknum, c.name from lientrak as l, customer as c
> > where l.custsysid=c.custsysid
> > and l.ltsysid in (select l2.ltsysid from lientrak as l2 where
> > l2.lientraknum
> > like '2003-%')
>
> Sub queries are not going to be available until version 4.1.  You'll need
> to re-write the above query using an outer (?) join.  I'm not sure what
the
> exact syntax should be and I'm sure someone will pipe up with that info.

First impression:  it looks like it might be messy if ltsysid isn't unique
(i.e., isn't a key).

> Chris
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: HELP!

2003-11-30 Thread Stephen Fromm

- Original Message - 
From: "Andy (da man) Rosenblatt" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, November 29, 2003 4:05 PM
Subject: HELP!


> hi
> I bought a book with your mySQL program and seemed to have installed it
worng and i cant stop it. I never set a user name or a password.
> ~AndyR.

1.  Your subject line isn't going to get much attention; it's too vague.
2.  You should say which operating system you're using.


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: mysql: not found

2003-11-17 Thread Stephen Fromm

- Original Message - 
From: "Kelley Prebil" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 17, 2003 9:33 PM
Subject: mysql: not found


> When I try to start the database with :
>
> mysql -h host -u user -p
>
> I get the response :
>
> mysql: not found
>
> What does this mean?  Installation went smoothly as far as I could tell.

Sounds like you don't have your path set up.

> Also, when I try to start the database with :
>
> bin/mysqld_safe --user=mysql &
>
> It starts the mysqld daemon from the right directory, and then promplty
says :
>
> 031117 18:07:39  mysqld ended
>
> Any help would be appreciated as I couldn't find anything in the manuals
about troubleshooting.
>
> Kelley
>
> --
> Kelley Rianna Prebil
> http://www.pearlsgirl.com
> --
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: The correct way to deal with name_1, name_2, name_3

2003-11-17 Thread Stephen Fromm

- Original Message - 
From: "Paul Fine" <[EMAIL PROTECTED]>
To: "'Stephen Fromm'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Monday, November 17, 2003 11:49 AM
Subject: RE: The correct way to deal with name_1, name_2, name_3


Thanks.

I do mean " Do you mean one column for each name, in which case these would
comprise 10 columns, most of which would have NULL most of the time?"

SF:  OK

Is this your suggestion in this case:

Table 1
| blahblah | blah | blah | CustID (PK) |


Table 2
| CustID (FK) | Name |

Table 2 Sample Data
| 11 | Bart |
| 11 | Jamie|
| 11 | Bob |

SF:  Mostly.
Perhaps I'm not getting your design right, but to me CustID should be a PK
in Table 2 and an FK in Table 1.  It might also be a PK in Table 1, but that
depends on the semantics of the table.  But maybe that's not what you want
because the CustID in the example you gave (in Table 2) is not unique for 3
different rows.

Therefore I can select NAME from Table 2 where CustID matches Table 1 and
thus have all the names required?

SF:  That's the basic idea.  But given my confusion above, you should
provide more details on the meaning of the tables.

Thanks!




-Original Message-
From: Stephen Fromm [mailto:[EMAIL PROTECTED]
Sent: Monday, November 17, 2003 10:01 AM
To: Paul Fine; [EMAIL PROTECTED]
Subject: Re: The correct way to deal with name_1, name_2, name_3


- Original Message - 
From: "Paul Fine" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 17, 2003 10:37 AM
Subject: The correct way to deal with name_1, name_2, name_3


> Greetings, I would be greatful for any advice on the correct way to do
this.
>
> If I have something dynamic, for example customer names where usually
there
> are 1 or 2 unique customer names but possibly say up to 10, what is the
> "correct" design?
>
> For example I could simply create a table with name_1, name_2, name_3
> 10. I am sure there is a more efficient way to do this.

Could you be more specific?

Do you mean one column for each name, in which case these would comprise 10
columns, most of which would have NULL most of the time?

Or do you mean a separate row, one of whose columns is customer_name, with
one of 10 values?

I can't say much because of lack of detail (i.e., what's in the rest of the
table), but I'd have TWO tables.  In the table you're discussing, I'd have a
column called cust_id.  In another table, the "customer" table, I'd have two
entries, cust_id and cust_name.  cust_id in the original table would be a
foreign key pointing at the customer table...




> Thanks!
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: The correct way to deal with name_1, name_2, name_3

2003-11-17 Thread Stephen Fromm

- Original Message - 
From: "Paul Fine" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 17, 2003 10:37 AM
Subject: The correct way to deal with name_1, name_2, name_3


> Greetings, I would be greatful for any advice on the correct way to do
this.
>
> If I have something dynamic, for example customer names where usually
there
> are 1 or 2 unique customer names but possibly say up to 10, what is the
> "correct" design?
>
> For example I could simply create a table with name_1, name_2, name_3
> 10. I am sure there is a more efficient way to do this.

Could you be more specific?

Do you mean one column for each name, in which case these would comprise 10
columns, most of which would have NULL most of the time?

Or do you mean a separate row, one of whose columns is customer_name, with
one of 10 values?

I can't say much because of lack of detail (i.e., what's in the rest of the
table), but I'd have TWO tables.  In the table you're discussing, I'd have a
column called cust_id.  In another table, the "customer" table, I'd have two
entries, cust_id and cust_name.  cust_id in the original table would be a
foreign key pointing at the customer table...




> Thanks!
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



php and passing implicit connection identifiers

2003-11-17 Thread Stephen Fromm
The connection identifier returned by mysql_connect() need not be passed to
calls to MySQL-related functions.

What is the "scope" of this claim?

In particular, if I open a connection and then call a function I wrote
myself, which then calls a MySQL related function, can I still omit the
connection identifier?

TIA,

sjfromm


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Foreign Key

2003-11-11 Thread Stephen Fromm

- Original Message - 
From: "Shravan Durvasula" <[EMAIL PROTECTED]>
To: "MySQL HELP" <[EMAIL PROTECTED]>
Sent: Tuesday, November 11, 2003 12:48 PM
Subject: Foreign Key


> Hi all:
>
> I have a table A(Id, Type). Primary Key is "Id"
> I have another table B(Id, State). Primary Key is "Id"
>
> I also have another table C(Id, ConditionId). Primary Key is "Id". But,
"ConditionId" could be "Id" values from Table A or Table B. So i want to
make it a foreign key. But how can i make the same attribute a foreign key
for more than one table?

If you really want to follow the canons of relational database theory, you
have to be very careful when you do this.  You can read up on this stuff in
discussions of the EER model (*enhanced* entity-relationship model).  I
think it's called a "category".

The way I've done it is to make another table, with just an Id column; call
it AB.  Each Id in A appears exactly once in AB, as does each Id in B.  (So
Id in A is both a pk for A and an fk pointing from A to AB; similarly for B.
And of course Id in AB is the pk for AB.)  Then ConditionId in C is a fk
pointing at AB, not at A or B.

> Thanks,
> -skd
>
>
> -
> Do you Yahoo!?
> Protect your identity with Yahoo! Mail AddressGuard


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



newlines and carriage returns in string data

2003-11-11 Thread Stephen Fromm
Is it OK to have actual newline/carriage return characters in string data?

E.g. consider the insert statement
INSERT into table t1 ( ) VALUES('Here is a newline:\nThere it was!');

Now consider the statement, typed as
INSERT into table t1 ( ) VALUES('Here is a newline:
There it was!');

Is the second version legal?

Another way of saying this (I guess) is:  what kinds of characters are
allowed in a string constant?


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Multiple Self Joins and Left Joins ?

2003-09-17 Thread Stephen Fromm
- Original Message - 
From: "Gary Huntress" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, September 17, 2003 12:14 PM
Subject: Multiple Self Joins and Left Joins ?


>
> I'm stumped by this query that I think will involve multiple self joins
and
> left joins.
>
> My data looks like:
>
> +--+--++
> | id   | Category | description |
> +--+--++
> |1 | color| red|
> |2 | color| blue   |
> |3 | color| yellow |
> |4 | size | small  |
> |5 | size | large  |
> +--+--++


Are you sure this is a good way to set up your data model?  I don't have the
time to look everything up, but I would question this design because there's
a lot of redundancy going on.  That is, while I'm not sure it violates any
normal form, clearly there's a "functional dependency" (doubt I'm using that
term correctly as per its definition in my RDB text):  e.g. if description =
red, then category = color.  So "category" seems redundant.

> I want to permute every combination of description by Category.  In the
> simple case above I can do
>
>  select color.description , size.description
>  from mystats as color, mystats  as size
> where color.Category="color" and size.Category="size";
> +-+-+
> | description | description |
> +-+-+
> | red | small   |
> | blue| small   |
> | yellow  | small   |
> | red | large   |
> | blue| large   |
> | yellow  | large   |
> +-+-+
>
> This works fine as long as there are entries present for each category.
> The number of categories is not arbitrary (eventually there will be
exactly
> 14 categories), but there may not be entries in the data table for all
> categories.   For example, there is a third category "material"  but there
> are no values...  so if I had extended my query above to
>
> select color.description , size.description, material.description
> from mystats as color, mystats  as size, mystats as material
> where color.Category="color" and size.Category="size" and
> material.Category="material";
>
> I get no records.
>
> what I want would be something like this:
>
> +-+-+-+
> | description | description | description |
> +-+-+-+
> | red | small   |NULL |
> | blue| small   |NULL |
> | yellow  | small   |NULL |
> | red | large   |NULL |
> | blue| large   |NULL |
> | yellow  | large   |NULL |
> +-+-+-+
>
> where the third column is null because there are no material categories in
> the data.
>
> I think I need some sort of left join here but in the general case I don't
> think it will work because whatever I decide is my "leftmost" Category may
> have no entries in the table.
>
> I know I can do this at the application level with a few seperate queries
> and a little more processing, but I'm sure that this can be done with
plain
> SQL and I'd like to learn how.
>
> As usual, any help is appreciated.
>
> Thanks!
>
> Gary H
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Sobig.F on this list

2003-09-06 Thread Stephen Fromm
I got a bounced email with an attachment entitled macex.mex.scr, about 72.3
KB, which if IIRC is probably the Sobig.F virus.  It appears to have been
sent to people on this list (even though the list wasn't in the "to:" line)
because the body of the email discussed MySQL.

Since Sobig.F forges the "from" line, I don't think the person it was "from"
sent it.

Rather, IIRC the virus doesn't spoof the IP address that the incoming
connection came from, and it appears to be:
217.204.219.154
nslookup says this belongs to
mobiletones1-2.dsl.easynet.co.uk

That belong to anybody here?  If so, and *if* I'm right about the virus
(well, worm actually), you might be infected...

sjfromm


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: how to code an 'IS - A' relationship ?

2003-09-02 Thread Stephen Fromm
Morten,

I'd like to help you with actual code, but I can't, because the version of
MySQL I use doesn't implement foreign key constraints.

In my own code (written in the C API), I plan on checking these constraints
myself.  But I can't implement them in the tables themselves.

Best,

Steve Fromm


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: how to code an 'IS - A' relationship ?

2003-08-28 Thread Stephen Fromm
> Hello MySQL programmers,
>
> suppose we have an Enhanced ER diagram,
> with entities as classes/ subclasses  connected through
> some IS-A  relationship.
>
> How can this be Coded in MySQL Please?
>
> My prerequisites are the basic database texts from
>
> http://www-db.stanford.edu/~ullman/dscb.html
>
> http://www.aw-bc.com/info/database/elmasri.html

My copy of elmasri has a section "EER-to_Relational Mapping," which I
followed when I wanted to do the same thing.  It lists 4 methods for
modelling EER class/subclass relationships in terms of the relational
database model.

For me, I did it as follows.  Suppose A and B are subclasses of C.  Then for
C, I had an INT for primary key, plus an ENUM to describe whether the object
was in A or B (here, the enum might have two values, 'a' and 'b').  The
primary key of A was the same as that of C; similarly for B.

The pk of A should satisfy a foreign key constraint with regard to C
(similarly for B).

If an object cannot belong to both A and B, one has to also check that no pk
in C belongs to both A and B.  That's not hard to do, but it's not clear to
me that it falls under one of the standard integrity issues in the
relational model.

HTH,

sjfromm


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: punctuation in fulltext searching

2003-08-20 Thread Stephen Fromm
> hmm well sorry to be unclear i know this works but it would return more
> results than needed also i cant expect users to add this themselves, like
i
> would have to add the astrerix to every word in that case like i do to get
> all words ;\

I don't know the MySQL issues (I'm now using some FULLTEXT indexes but
haven't played with them yet).  Note that the issue you're talking about is
one of "stemming".  The most common examples are singular versus plurals.

One solution (if the built-in MySQL stuff proves unsatisfactory) is to build
your own stemmer (assuming you're building some kind of interface to MySQL,
using the MySQL API).

-S

>
> -Original Message-
> From: Egor Egorov [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 19, 2003 7:41 PM
> To: [EMAIL PROTECTED]
> Subject: Re: punctuation in fulltext searching
>
>
> Daniel Rossi <[EMAIL PROTECTED]> wrote:
> > Hi i have just come across an issue where a word is not being searched
up
> if there is any punctuation ie. AMROZI'S will not be search upon if you
type
> AMROZI , please help
>
> Take a look at * operator which you can use in BOOLEAN MODE.
>
>
>
> --
> For technical support contracts, goto https://order.mysql.com/?ref=ensita
> This email is sponsored by Ensita.net http://www.ensita.net/
>__  ___ ___   __
>   /  |/  /_ __/ __/ __ \/ /Egor Egorov
>  / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
> /_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
><___/   www.mysql.com
>
>
>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
> http://lists.mysql.com/[EMAIL PROTECTED]
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Books advice

2003-08-01 Thread Stephen Fromm
It depends on what you want to know.

I used _Fundamentals of Database Systems_ (Elmasri and Navathe) when I took
a DB course.  It was pretty good, though my impression is that there might
be a "classic" which is better.

The problem with the more MySQL-specific books is that you might not learn
the more abstract aspects of database design.  E.g. some MySQL literature
seems to imply that keys and indexes are the same thing, which is not true.
Also, a book like the one above will strongly emphasize what an "ideal" RDMS
will adhere to, most importantly data integrity, especially referential
integrity.  Earlier editions of MySQL (including the one I'm using) don't
actually enforce foreign key references.  And judging from some things I see
posted in this list, your DB design will be well-served by learning the
fundamentals.

I haven't read Celko's books, but my guess is that they're advanced, not
foundational, and that you'd be better served by first looking at a
foundational book.

-S

- Original Message - 
From: "Fawad Siddiqui" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, July 31, 2003 8:05 PM
Subject: Books advice


Hi,

I would like to learn about RDBMS, namely mysql of course, but know really
nothing in this area, so have to learn about; RDBMS, SQL and mysql from
scratch.

In this regard, if anyone knows of any books they think would start me off
on the right foot, I would be very grateful.

I have done some searching on Amazon, with the following results.

1.Beginning Databases with MySQL
   by Richard Stones, Neil Matthew

2.MySQL Cookbook
   by Paul DuBois

3.Managing and Using MySQL
  by George Reese, et al

4.Inside Relational Databases
   by Mark Whitehorn, Bill Marklyn

5.Database Design
   by Ryan K. Stephens, Ronald R. Plew

6.The Practical SQL Handbook: Using SQL Variants
   by Judith S. Bowman, et al


Many thanks in advance for all your help.


Fawad


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: XML in MySQL

2003-06-23 Thread Stephen Fromm

- Original Message - 
From: "Jon Haugsand" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, June 23, 2003 2:57 AM
Subject: Re: XML in MySQL


> * [EMAIL PROTECTED]
> > geez mysql is an open source product you cannot expect so much too soon
over
> > a very expensive commercial product which has been out for years , for
xml i
> > usually generate it on the fly when i am extracting the data using the
field
> > names as the xml tag nodes.
>
> Converting a relational dbms into an XML frontend is like trying to
> change a Chevrolet into a Beetle.  (The problem is of course that too
> many managers orders too much xml these days.)

Hear, hear!

A good place to look if you're interested in the views of relational DB
"purists" (and what they think of XML, etc) is
http://www.dbdebunk.com/

-S

>
> -- 
>  Jon Haugsand, [EMAIL PROTECTED]
>  http://www.norges-bank.no
>
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



inserting illegal values into INT field

2003-05-31 Thread Stephen Fromm
It appears that if I try to insert an illegal value into an INT field, the
value is set to 0 instead of NULL, even though the field has NULL as a
default.

Is this documented behavior, and if so, what's the rationale?


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]