Jacob Chapman
04/19/2020, 6:04 AMalltom
04/19/2020, 5:14 PMKonrad Hinsen
04/20/2020, 9:30 AMDoug Moen
04/20/2020, 3:45 PMSamuel Squire
04/20/2020, 5:47 PMDoug Moen
04/20/2020, 6:14 PMDoug Moen
04/20/2020, 6:18 PMDoug Moen
04/20/2020, 6:20 PMAndy F
04/20/2020, 6:36 PMAndy F
04/20/2020, 6:36 PMSamuel Squire
04/20/2020, 6:53 PMDoug Moen
04/20/2020, 7:02 PMAndy F
04/20/2020, 7:32 PMSamuel Squire
04/20/2020, 7:45 PMKonrad Hinsen
04/21/2020, 4:54 PMalltom
04/21/2020, 5:43 PMDavid Piepgrass
04/21/2020, 5:45 PMproject(
join(suppliers, cities),
[:sid, :name, :city, :country])
does it choose implicitly to join on "city" just because the two tables both have a city column? But what if the column names don't match, and how is this going to work if two tables happen to share a column name but it is just a coincidence and not intended for joining?
I have always found relational algebra unnatural. In non-DB code, if you want to know what city a person lives in, it's just person.address.city
... DBs are so clumsy in comparison, constantly making you think about how to join tables together while including and excluding the right data. You might say "well what if you want to know what people are associated with an address... not so easy then, huh?" Yeah, then I'd have to run a query like people.Select(p => p.address).Where(a => a == address)
, but by golly, simple paths like person.address.city
are both very convenient and maximally efficient computationally.alltom
04/21/2020, 5:49 PMalltom
04/21/2020, 5:53 PMpeople.address.city
except to say that the way you get the convenient people.address.city
syntax with an ORM is to define the relations between people and addresses and cities, so a language based on relations would probably have that too.Doug Moen
04/21/2020, 7:32 PMalltom
04/22/2020, 4:23 PMSELECT a FROM $tbl
.David Piepgrass
04/23/2020, 7:40 PMSamuel Squire
04/24/2020, 1:44 AM