![]() | |
#41
| |||
| |||
|
|
Tegiri Nenashi <TegiriNenashi (AT) gmail (DOT) com> wrote: On Jun 9, 11:27 am, "Walter Mitty" <wami... (AT) verizon (DOT) net> wrote: Data Normalization. I don't know what this corresponds to in OO design. Refactoring? Since the two areas are different, why strain at correspondences? Normalisation is during design. Refactoring is after the fact. |
#42
| |||||||
| |||||||
|
|
I am not aware of any precisely and consensually OO defined concept. I have asked hundreds of OO programmers in the past about a definition about what an object and each of them came with a totally different definition. |
|
You are a database desinger, right? Do you ever use the 'entity-relation' method when you design a database? If so, what is an 'entity'? |
|
In my first post: "I have a problem with wrapping my mind into the 'right' wrinkles." "The [system] would be almost trivial to implement in an object-oriented context [...], but I don't see how to come up with a table-based database design." |
|
1) If OO concepts can be handled at all in SQL databases. 2) If so, how it is done. |
|
Or maybe you just are not ready to accept the answer as it is. *set oriented approaches are radically opposites of procedural approaches. Ah, 'set oriented vs procedural approach'. The first time I see it. Any synopses on *how* they are different? |
|
I ask the same question: How is SQL different and similar to what I already know. In ways you can not tell if you do not go through a self learning process of education in database concepts. *If you believe this is not necessary and OO concepts are sufficient to understand database theory then it will be difficult to help you. |
|
I'm blaming the community because members seem systematically unable to project themselves into the shoes of a newbie, and are thus unable to see the subject from the newbie's perspective. |
#43
| |||
| |||
|
|
"Gene Wirchenko" <genew (AT) ocis (DOT) net> wrote in message news:b0it25h2ai2ag1qghti23d0mq6evsbetnj (AT) 4ax (DOT) com... Tegiri Nenashi <TegiriNenashi (AT) gmail (DOT) com> wrote: On Jun 9, 11:27 am, "Walter Mitty" <wami... (AT) verizon (DOT) net> wrote: Data Normalization. I don't know what this corresponds to in OO design. Refactoring? Since the two areas are different, why strain at correspondences? Normalisation is during design. Refactoring is after the fact. Actually, normalization is a bottom-up approach, and is done after the fact. After the fact of coming up with an unnormalized model. If you do modeling *correctly*, your model will be normalized as soon as you build it, and you don't have to go through the rigmarole of converting the schema into another equivalent schema that acheives a higher normal form, and repeating that exercise. Having said that, I never learned how to model data *correctly*, so I ended up normalizing during design time, just as you say. |
#44
| |||
| |||
|
|
That's what confused me. The general concepts are *similar* to concepts from OO, but not the same. I suppose the main difference is that objects are local collections of different attributes, while in relational databases the objects are 'disassembled' and the attributes distributed over the various tables. |
#45
| |||
| |||
|
|
My personal experience coincides with this impression - OO is a very useful tool. If one assumes a low-level physical computational model, it is useful. The relational model and SQL don't make that assumption. |
#46
| |||
| |||
|
|
I am not aware of any precisely and consensually OO defined concept. I have asked hundreds of OO programmers in the past about a definition about what an object and each of them came with a totally different definition. But it's pretty much clear what a UML class diagram is, isn't it. You are a database desinger, right? Do you ever use the 'entity-relation' method when you design a database? If so, what is an 'entity'? The entity-relationship method is often used, advocated and taught for the design of databases. The design starts by creating an entity-relationship diagram, that is systematically transformed and provided with implementation detail until an ER diagram results that specifies a relational database schema. An ER diagram is a representation of the relations (tables) and foreign key relationships in a relational database schema. |
#47
| |||
| |||
|
|
In my first post: "I have a problem with wrapping my mind into the 'right' wrinkles." "The [system] would be almost trivial to implement in an object-oriented context [...], but I don't see how to come up with a table-based database design." Think 'class' ~ 'relation' (table) |
|
I ask the same question: How is SQL different and similar to what I already know. In ways you can not tell if you do not go through a self learning process of education in database concepts. If you believe this is not necessary and OO concepts are sufficient to understand database theory then it will be difficult to help you. Some people in this newsgroup believe that the relational model is sacred, its inventor Codd was a holy man, and a guy called Date who has written a bunch of popular books on the subject is his replacement on earth. |
#48
| |||
| |||
|
|
Bob Badour wrote: My personal experience coincides with this impression - OO is a very useful tool. If one assumes a low-level physical computational model, it is useful. The relational model and SQL don't make that assumption. That is because they don't address the same problems. |
|
As long as you're happy manipulating typical business data in a database, the relational model is all you need. |
|
Besides, OO is neither low-level nor a computational model. |
#49
| ||||
| ||||
|
|
Anyway, it turns out you can do almost everything in design mode that you might be able to do by learning the syntax and semantics of SQL DDL and DML. And all you have to do is point and click, most of the time. And, because MS Access integrated application building with database building, you end up building a functioning application alongside the building of a working database. That's no small benefit. I actually built some useful stuff for myself using MS Access without really learning it. I hope somebody who really has learned it can help you more than I can. In the meantime, I'm going to focus on some sidelights. |
|
MS Access owes a lot to its heritage. It was built to make desktop database work available to the same kind of person who was comfortable with Excel or Word. Desktop database work is very different from enterprise integration database work. Access was typically for one user at a time. It wasn't easy to get data into an access database, except by interactive data entry. If you were dealing with more than 10 million rows, you were probably maxed out. And so on. Over the years, it has matured to where it has overcome a lot of the initial limitations. But it still looks like a strange beast, to those of us who grew up with industrial strength DBMS products. It would be sort of like Object Oriented COBOL, if you get my drift. If you learn MS Access from the ground up, you are going to learn several things about the RM that just ain't so. That is why some of the regulars are chiding me for encouraging you. The design patterns that work for you are design antipatterns at the larger scale. That may not matter to you, at least for a while. |
|
There is one antipattern that I want to mention in particular. Your problem description, in the original post, reminds me of the Entity-Atrribute-Value (EAV) antipattern. Different insrument types are like different entities, different calibrations are like different attributes, and different measurements are like different values. The terible thing about EAV is the hell you have to go through to create meaningful queries out of that mess, if you're using SQL or any language remotely like it. |
|
But there is a tool that can reduce an EAV data glob to a legible summary without much difficulty. It's the Pivot Table Report in MS Excel. A pivot table doesn't care whether the row headers and column headers are data or metadata. It's all databurger to the pivot table. So, if your plan is to simply pump data into Excel, and reduce it there, you may be able to get away with an EAV like design, in spite of the fact that people like me consider it a monstrosity. |
#50
| ||||
| ||||
|
|
An ER diagram is a representation of the relations (tables) and foreign key relationships in a relational database schema. That's the physical data structure which describes the way the database has been built. That's often derived from the logical (and sometimes a separate conceptual) data structure. That's where the objects on the diagrams are entities. Entities and tables are not the same thing. |
|
The ERD is an entity relationship diagram which details the logical or conceptual structure which is then used as a basis for a physical design. |
|
Entities loosely map to classes in that there are instances of each entity which vaguely map to objects as instances of a class. |
|
One thing to be aware of is that different design methodologies use entities and ERDs in slightly different ways. Some have the concept of a sub-entity, others don't. |
![]() |
| Thread Tools | |
| Display Modes | |
| |