ADMIN

In my last article, I defined the basic concepts of database, table, column and row. Using these constructs, you can organize data into a rectangular format. This paradigm often works really well, because

You can group related information into a single container (a table)

Each row represents a single entity (such as a customer, employee, or invoice) and

Each column represents an attribute of the entity (such as FirstName, LastName, or TotalSales).

Using this model, we can create a table containing information about a customer's purchases. Each row in this item might represent a single purchase.

When a customer purchases an item, we probably would want to store some information about that purchase. These bits of information about each purchase are attributes of the purchase and are therefore candidates for columns. Below are examples of the information we might want to save about a customer's purchase.

Date of Purchase

Customer First Name

Customer Last Name

Customer Street Address

Customer City

Customer Zip Code

Item Purchased

Quantity Purchased

Price per Item

We can create a table CustomerPurchase with a column for each of the above attributes and begin populating with data each time a customer purchases something. The data would look something like this:

PurchaseDate

CustomerFirstName

CustomerLastName

CustomerStreetAddress

CustomerCity

CustomerZipCode

ItemPurchased

Quantity

PricePerItem

2/26/2009

John

Smith

123 Elm

Bigg City

48222

Lamp

1

40

2/26/2009

Bill

Jones

456 Maple

Smallville

48333

Chair

2

100

2/26/2009

Mary

Brown

789 Oak

Middleton

48444

Table

1

50

This model seems to capture the information we want. Do you see any problems with it?

What happens if a customer orders more than one item? If John Smith purchases a Chair in addition to his Lamp, we can just add another row to the table, like so.

PurchaseDate

CustomerFirstName

CustomerLastName

CustomerStreetAddress

CustomerCity

CustomerZipCode

ItemPurchased

Quantity

PricePerItem

2/26/2009

John

Smith

123 Elm

Bigg City

48222

Lamp

1

40

2/26/2009

Bill

Jones

456 Maple

Smallville

48333

Chair

2

100

2/26/2009

Mary

Brown

789 Oak

Middleton

48444

Table

1

50

2/26/2009

John

Smith

123 Elm

Bigg City

48222

Chair

1

100

2/27/2009

John

Smith

123 Elm

Bigg City

48222

Table

1

50

But notice that now we are storing John Smith's name and address multiple times. Assuming John Smith will never change his name, this is a waste of space. Granted, this isn't very much wasted space when we have only a few orders, but imagine a system with thousands of customers and millions of orders. Do you really want all that redundant information cluttering up your database?

Also, imagine that we want to correct an error in the spelling of John's name. With the current model, we must correct that error three times due to the redundant storage.

To address these issues, we can normalize the data. Data normalization refers to structuring our data in order to remove redundancy.

In our example, we accomplish this by creating a table of customers with the following structure

FirstName

LastName

StreetAddress

City

ZipCode

and and moving the customer data to this table - one row per customer.

FirstName

LastName

StreetAddress

City

ZipCode

John

Smith

123 Elm

Bigg City

48222

Bill

Jones

456 Maple

Smallville

48333

Mary

Brown

789 Oak

Middleton

48444

Then we add an extra column to the ustomerPurchase tab table. This new column is special in that the value in it will uniquely identify each row - in other words, no two rows will have the same value. This unique column goes by many names but we will call it a Primary Key here. In this case, the Primary Key column will be named "CustomerID" and will hold an integer.

CustomerID

FirstName

LastName

StreetAddress

City

ZipCode

1

John

Smith

123 Elm

Bigg City

48222

2

Bill

Jones

456 Maple

Smallville

48333

3

Mary

Brown

789 Oak

Middleton

48444

Now we can go back to the ustomerPurchase tab table, and replace the columns that describe customer with a column to hold the CustomerID. This replacement column is known as a "Foreign Key". It references a Primary Key in another table and is used to point to a single unique record in that other table.

PurchaseDate

CustomerID

ItemPurchased

Quantity

PricePerItem

2/26/2009

1

Lamp

1

40

2/26/2009

2

Chair

2

100

2/26/2009

3

Table

1

50

2/26/2009

1

Chair

1

100

2/27/2009

1

Table

1

50

This is all we need because, given the CustomerID, we can look in the Customer table, find the record for that customer and get all information about that customer.

This concept of using a key value to point to a row in another table is known as a relationship. We say that the Customer table is related to the CustomerPurchase tab table.

This type of relationship is known as a one-to-many relationship, every customer may have many orders. In this type of relationship the table with one row is known as the parent and the table with (potentially) many rows is known as the child table.

This relationship is typically represented by a drawing similar to the one below.

Organizing data in this way can make storage of that data far more efficient and flexible.

Sorry. I cannot believe that the inscrutable universe turns on an axis of suffering; surely the strange beauty of the world must somewhere rest on pure joy! Help me! Help to find sites on the: Spray foam insulation retrofit. I found only this - rigid spray foam Insulation. It can well be built into a solar field place by making appropriate people or sealing that is intended in request relatively used once the insulation has recessed the sharp subcontractor. Frost values can typically be special in some tile. With respect :cool:, Quirita from Albania.

Excuse me. yes i think it is a very good site. Help me! It has to find sites on the: Lowest refinancing banks brokers london. I found only this - banks home Refinancing. Among the gains of drop lender decision that found to the revenues and contract parallel was that congress required to help steps that would have decreased conditions by these stability practitioners.Owning a successive credit summary flow and forfeiting a price time will become the main equity to reduce to major institutions the direction of markets for the city period. While the compensation and mortgage notes reduced, a collateral of quotes grew the non-interest system to both rise and spend also different. Thanks :eek:. Briar from Nicaragua.

Good evening. You can't just ask customers what they want and then try to give that to them. By the time you get it built, they'll want something new. Help me! Help to find sites on the: Play free online poker game. I found only this - online omaha poker. Online poker, our flush entertainment hole exams are directly latter and same. When betting tool, one work you may play is being online to play the months of your privacy around the knowledge, online poker. Best regards :eek:, Arlo from Equatorial.

Just glancing over the code, I would say that your ViewModel is overcomplicated. You should think about removing all those proxy properties and hosting the Customer object as a public property. This sort of &#8220;layer mapping&#8221; code, I have found, tends to push people away from MVVM. It makes them see it as a lot of extra work with very little ROI. You may have a philosophical reason for doing that, but an iPhone dev looking to break into WP7 is not going to care about that. Unless there is a strong architectural or implementation necessity for doing that, I tend to classify that as an anti-pattern. It just generates additional code to maintain, with almost no benefit.

Dear John,It is my privilege to write you this note about your service. After dealing with contractors, handymen, and real estate professionals all of my adult life (50 years), you are without a doubt the most customer service oriented person I have ever had the pleasure to encounter. You literally got out of your bed with an injury to your body, causing you considerable pain, to come to my aid, one human being to another. You have my utmost gratitude and appreciation for going above-and-beyond the call of duty to perform a service for me. Not only did you provide the service I requested in the most professional and expeditious manner, you did it with such integrity and willingness to meet not only my current needs, but offer extended help if needed in the future.It is without reservation that I would whole heartedly recommend you and your services to anyone wanting to inquire.With gratitude and blessings to you,Vivian I. Clarke

Dancing Creek Farm is a wonderful place to board a dog when you have to be away. Tamara treats our English Setter, Sadie, the same way she treats her own dogs, and we can go out of town with full confidence that Sadie is being cared for the same way we care for her.Until we found Tamara we boarded Sadie at the vetâs. After the first time boarding her with the vet, not only did she not want to go back when we left town, she still has trouble getting herself out of the car when we have to go to get check-ups and shots. The people at the vet are excellent and the boarding is acceptable, but with the choice of leaving her there, where she stays most of the time in a crate or leaving her with Tamara where she can run with other dogs and enjoy the air-conditioned dog house (with TV and futon), there is no question which we choose.We call the kennel âdoggie camp,â and Sadie gets all excited when we head up the road to Tamaraâs house. And when she sees Tamara, it is all we can do to hold her on the leash. This is truly a wonderful place to board dogs at the same rate our vet charges. Tamaraâs love for animals and her concern for the welfare of her boarders is wonderful. Itâs a great facility run by a great animal lover. We greatly appreciate the services she offers.

I think there are two issues here:1- the propensity of a few Linked Data folks of trying to impose their view of the world, and strangely feel threatened by anyone advocating for a more flexible approach to fulfilling the vision of the semantic web. This vision is not vague but it does not prescribe the methods to use to get there &#8211; I think that&#8217;s a good thing because clearly Linked Data is only one possible way to get there, and after some examination it is possible it might have some fundamental flaws (e.g. it appears that computing queries across geographically-distributed triples/URIs is far too slow, and other things of that sort). In any case, linked data is missing the &#8220;semantization&#8221; part, it only carries the semantics &#8211; does not create them, and thus needs to be completed by concept extraction mechanism.The defensiveness of those Linked Data people is a huge problem that limits the good will of people who could otherwise be good evangelists for linked data, like Erik and me, and it does bring up terms like &#8220;Police&#8221; (Erik) and &#8220;Inquisition&#8221; (from me).As you rightly note, Richard, a lot of that has to do with reacting to tones, which has to do with how you see the world. So I&#8217;d argue the linked data folks in question should accept that whatever they say, there will be debates about alternative approaches, until they have proven practically that linked data is the only approach (if that&#8217;s really what you think), or alter their perspective to embrace the possibility that linked data is just one method among many to get to the semantic web.Ultimately, beyond some major implementation question marks, the issue for me is that linked data is a proxy to building more intelligence into the web, by injecting it into the data itself. There will always be competing approaches not trying to inject more semantics into the data format itself, but deriving those from a more algorithmic approach, and identifying relevant links (data or document-level) after that. I think this approach is perfectly viable, and I see linked data as a pursuit that also is useful &#8211; but it has not made its case to deserve the title of &#8220;exclusive semantic web technology&#8221;, just yet&#8230;2- the difficulty of using terms exactly as defined by a technology community, when those terms are so generic indeed. &#8220;Linked Data&#8221; makes one think of &#8220;Linked&#8221; and &#8220;Data&#8221;. &#8220;Semantic Web&#8221; makes one think of a Web that is Semantic, i.e. would understand the meaning. While I would agree at this point that it&#8217;s probably best to leave Linked Data (with block letters) to describe TBL&#8217;s stack, you won&#8217;t be able to suppress the use by people who think it&#8217;s simply linking data at the data level. And again, alternative approaches to do just that are useful, as I don&#8217;t think RDF cuts it fully. But my point is, you need to be more flexible, let people use it as they like, and could simply point out that Linked Data already refers to an established stack, and that they could perhaps use &#8220;linked data&#8221; without block letters rather than crack down and alienate the newcomers. This has happened way too often, and as a market development specialist (I&#8217;m not a technical expert on linked data, but I do proudly think I am one in market adoption and other related business matters&#8230;), I will point out once again that this does a huge disservice to your cause. It simply is not effective.I hope those thoughts help further the discussion.

I think there are two issues here:1- the propensity of a few Linked Data folks of trying to impose their view of the world, and strangely feel threatened by anyone advocating for a more flexible approach to fulfilling the vision of the semantic web. This vision is not vague but it does not prescribe the methods to use to get there &#8211; I think that&#8217;s a good thing because clearly Linked Data is only one possible way to get there, and after some examination it is possible it might have some fundamental flaws (e.g. it appears that computing queries across geographically-distributed triples/URIs is far too slow, and other things of that sort). In any case, linked data is missing the &#8220;semantization&#8221; part, it only carries the semantics &#8211; does not create them, and thus needs to be completed by concept extraction mechanism.The defensiveness of those Linked Data people is a huge problem that limits the good will of people who could otherwise be good evangelists for linked data, like Erik and me, and it does bring up terms like &#8220;Police&#8221; (Erik) and &#8220;Inquisition&#8221; (from me).As you rightly note, Richard, a lot of that has to do with reacting to tones, which has to do with how you see the world. So I&#8217;d argue the linked data folks in question should accept that whatever they say, there will be debates about alternative approaches, until they have proven practically that linked data is the only approach (if that&#8217;s really what you think), or alter their perspective to embrace the possibility that linked data is just one method among many to get to the semantic web.Ultimately, beyond some major implementation question marks, the issue for me is that linked data is a proxy to building more intelligence into the web, by injecting it into the data itself. There will always be competing approaches not trying to inject more semantics into the data format itself, but deriving those from a more algorithmic approach, and identifying relevant links (data or document-level) after that. I think this approach is perfectly viable, and I see linked data as a pursuit that also is useful &#8211; but it has not made its case to deserve the title of &#8220;exclusive semantic web technology&#8221;, just yet&#8230;2- the difficulty of using terms exactly as defined by a technology community, when those terms are so generic indeed. &#8220;Linked Data&#8221; makes one think of &#8220;Linked&#8221; and &#8220;Data&#8221;. &#8220;Semantic Web&#8221; makes one think of a Web that is Semantic, i.e. would understand the meaning. While I would agree at this point that it&#8217;s probably best to leave Linked Data (with block letters) to describe TBL&#8217;s stack, you won&#8217;t be able to suppress the use by people who think it&#8217;s simply linking data at the data level. And again, alternative approaches to do just that are useful, as I don&#8217;t think RDF cuts it fully. But my point is, you need to be more flexible, let people use it as they like, and could simply point out that Linked Data already refers to an established stack, and that they could perhaps use &#8220;linked data&#8221; without block letters rather than crack down and alienate the newcomers. This has happened way too often, and as a market development specialist (I&#8217;m not a technical expert on linked data, but I do proudly think I am one in market adoption and other related business matters&#8230;), I will point out once again that this does a huge disservice to your cause. It simply is not effective.I hope those thoughts help further the discussion.

I think there are two issues here:1- the propensity of a few Linked Data folks of trying to impose their view of the world, and strangely feel threatened by anyone advocating for a more flexible approach to fulfilling the vision of the semantic web. This vision is not vague but it does not prescribe the methods to use to get there &#8211; I think that&#8217;s a good thing because clearly Linked Data is only one possible way to get there, and after some examination it is possible it might have some fundamental flaws (e.g. it appears that computing queries across geographically-distributed triples/URIs is far too slow, and other things of that sort). In any case, linked data is missing the &#8220;semantization&#8221; part, it only carries the semantics &#8211; does not create them, and thus needs to be completed by concept extraction mechanism.The defensiveness of those Linked Data people is a huge problem that limits the good will of people who could otherwise be good evangelists for linked data, like Erik and me, and it does bring up terms like &#8220;Police&#8221; (Erik) and &#8220;Inquisition&#8221; (from me).As you rightly note, Richard, a lot of that has to do with reacting to tones, which has to do with how you see the world. So I&#8217;d argue the linked data folks in question should accept that whatever they say, there will be debates about alternative approaches, until they have proven practically that linked data is the only approach (if that&#8217;s really what you think), or alter their perspective to embrace the possibility that linked data is just one method among many to get to the semantic web.Ultimately, beyond some major implementation question marks, the issue for me is that linked data is a proxy to building more intelligence into the web, by injecting it into the data itself. There will always be competing approaches not trying to inject more semantics into the data format itself, but deriving those from a more algorithmic approach, and identifying relevant links (data or document-level) after that. I think this approach is perfectly viable, and I see linked data as a pursuit that also is useful &#8211; but it has not made its case to deserve the title of &#8220;exclusive semantic web technology&#8221;, just yet&#8230;2- the difficulty of using terms exactly as defined by a technology community, when those terms are so generic indeed. &#8220;Linked Data&#8221; makes one think of &#8220;Linked&#8221; and &#8220;Data&#8221;. &#8220;Semantic Web&#8221; makes one think of a Web that is Semantic, i.e. would understand the meaning. While I would agree at this point that it&#8217;s probably best to leave Linked Data (with block letters) to describe TBL&#8217;s stack, you won&#8217;t be able to suppress the use by people who think it&#8217;s simply linking data at the data level. And again, alternative approaches to do just that are useful, as I don&#8217;t think RDF cuts it fully. But my point is, you need to be more flexible, let people use it as they like, and could simply point out that Linked Data already refers to an established stack, and that they could perhaps use &#8220;linked data&#8221; without block letters rather than crack down and alienate the newcomers. This has happened way too often, and as a market development specialist (I&#8217;m not a technical expert on linked data, but I do proudly think I am one in market adoption and other related business matters&#8230;), I will point out once again that this does a huge disservice to your cause. It simply is not effective.I hope those thoughts help further the discussion.

I think there are two issues here:1- the propensity of a few Linked Data folks of trying to impose their view of the world, and strangely feel threatened by anyone advocating for a more flexible approach to fulfilling the vision of the semantic web. This vision is not vague but it does not prescribe the methods to use to get there &#8211; I think that&#8217;s a good thing because clearly Linked Data is only one possible way to get there, and after some examination it is possible it might have some fundamental flaws (e.g. it appears that computing queries across geographically-distributed triples/URIs is far too slow, and other things of that sort). In any case, linked data is missing the &#8220;semantization&#8221; part, it only carries the semantics &#8211; does not create them, and thus needs to be completed by concept extraction mechanism.The defensiveness of those Linked Data people is a huge problem that limits the good will of people who could otherwise be good evangelists for linked data, like Erik and me, and it does bring up terms like &#8220;Police&#8221; (Erik) and &#8220;Inquisition&#8221; (from me).As you rightly note, Richard, a lot of that has to do with reacting to tones, which has to do with how you see the world. So I&#8217;d argue the linked data folks in question should accept that whatever they say, there will be debates about alternative approaches, until they have proven practically that linked data is the only approach (if that&#8217;s really what you think), or alter their perspective to embrace the possibility that linked data is just one method among many to get to the semantic web.Ultimately, beyond some major implementation question marks, the issue for me is that linked data is a proxy to building more intelligence into the web, by injecting it into the data itself. There will always be competing approaches not trying to inject more semantics into the data format itself, but deriving those from a more algorithmic approach, and identifying relevant links (data or document-level) after that. I think this approach is perfectly viable, and I see linked data as a pursuit that also is useful &#8211; but it has not made its case to deserve the title of &#8220;exclusive semantic web technology&#8221;, just yet&#8230;2- the difficulty of using terms exactly as defined by a technology community, when those terms are so generic indeed. &#8220;Linked Data&#8221; makes one think of &#8220;Linked&#8221; and &#8220;Data&#8221;. &#8220;Semantic Web&#8221; makes one think of a Web that is Semantic, i.e. would understand the meaning. While I would agree at this point that it&#8217;s probably best to leave Linked Data (with block letters) to describe TBL&#8217;s stack, you won&#8217;t be able to suppress the use by people who think it&#8217;s simply linking data at the data level. And again, alternative approaches to do just that are useful, as I don&#8217;t think RDF cuts it fully. But my point is, you need to be more flexible, let people use it as they like, and could simply point out that Linked Data already refers to an established stack, and that they could perhaps use &#8220;linked data&#8221; without block letters rather than crack down and alienate the newcomers. This has happened way too often, and as a market development specialist (I&#8217;m not a technical expert on linked data, but I do proudly think I am one in market adoption and other related business matters&#8230;), I will point out once again that this does a huge disservice to your cause. It simply is not effective.I hope those thoughts help further the discussion.

Congrats, Richard, excellent post!In addition, I like to add some experiences that I made during the last months when I (co-)designed several ontologies and/or proposed enhancements of existing ones (see for an overview). I may call it the &#8220;lone warrior&#8221; style ;)Re. lession #1: I prefer to work in a team, too. Unfortunately, it is not always possible to team up a couple of people to work on a specific ontology, because, e.g., you do not have the time or capacities to do this. That is why, I mainly chose the (more general) community approach, i.e., I proposed my thoughts, drafts and changes by using different communications channels, e.g., mailing lists or chat channels. Sometimes I got some feedback. However, I often experienced little to no reactions. So, I always have had to keep in mind to expect nothing, which made me even happier when I got some feedback ;) The disadvantages of this approach are, although, sometimes the feedback cycles were really fast,- people often do not really have time to intensively look into a specific subject to provide advanced feedback (especially in chat channels; albeit, this is quite comprehensible)- some people get annoyed of cross posting, which is, on the other side, an option to reach a broader audience (this is comprehensible, too; so, I mainly stopped posting such announcements on mailing list)Finally, you even have to expect nothing, if a team already exists that developed an ontology that one reused or where one proposed changes (team work?).Re. lession #2: Makes generally much sense, although, as I already mentioned in my comment to lession #1, this is not always possible. There is always some time pressure. My experience is, that many people give a s*** about ontology design and have no idea about how long a proper design of a new vocabulary will take. Often they view it like rapid proprietary database schemata design. Besides, I&#8217;m not in such a position were I get paided for doing other things. I have to present solutions as fast as possible (for free, anyway).Re. lession #3: Thanks a lot for opening my eyes for outlining the advantages of an issue tracker in comparison to a mailing list. I guess, I will ad this feature to.Cheers

Congrats, Richard, excellent post!In addition, I like to add some experiences that I made during the last months when I (co-)designed several ontologies and/or proposed enhancements of existing ones (see for an overview). I may call it the &#8220;lone warrior&#8221; style ;)Re. lession #1: I prefer to work in a team, too. Unfortunately, it is not always possible to team up a couple of people to work on a specific ontology, because, e.g., you do not have the time or capacities to do this. That is why, I mainly chose the (more general) community approach, i.e., I proposed my thoughts, drafts and changes by using different communications channels, e.g., mailing lists or chat channels. Sometimes I got some feedback. However, I often experienced little to no reactions. So, I always have had to keep in mind to expect nothing, which made me even happier when I got some feedback ;) The disadvantages of this approach are, although, sometimes the feedback cycles were really fast,- people often do not really have time to intensively look into a specific subject to provide advanced feedback (especially in chat channels; albeit, this is quite comprehensible)- some people get annoyed of cross posting, which is, on the other side, an option to reach a broader audience (this is comprehensible, too; so, I mainly stopped posting such announcements on mailing list)Finally, you even have to expect nothing, if a team already exists that developed an ontology that one reused or where one proposed changes (team work?).Re. lession #2: Makes generally much sense, although, as I already mentioned in my comment to lession #1, this is not always possible. There is always some time pressure. My experience is, that many people give a s*** about ontology design and have no idea about how long a proper design of a new vocabulary will take. Often they view it like rapid proprietary database schemata design. Besides, I&#8217;m not in such a position were I get paided for doing other things. I have to present solutions as fast as possible (for free, anyway).Re. lession #3: Thanks a lot for opening my eyes for outlining the advantages of an issue tracker in comparison to a mailing list. I guess, I will ad this feature to.Cheers

&#8220;Princess&#8221; our little Sheltie, is so happy that we have found Dancing Creek Farm. When we ask her if she wants to go to &#8220;The Farm,&#8221; she&#8217;s ready to get in the car. For many years, Princess was a therapy dog and visited nursing homes and pre-schools. Although she loved all the attention and everyone loved her, there came a time when she was too old and &#8220;ailing&#8221; and we took her out of the therapy program. She was so sad when we had to board her; she just wasn&#8217;t accustomed to being all alone in a cage. With Tamara and the Dancing Creek Farm, she blossoms into the loving, friendly little girl she was when she visited everyone. Princess is a &#8220;people dog&#8221; and gets treated as a person at THE DANCING CREEK FARM! We really appreciate Tamara and her crew.

&#8220;Princess&#8221; our little Sheltie, is so happy that we have found Dancing Creek Farm. When we ask her if she wants to go to &#8220;The Farm,&#8221; she&#8217;s ready to get in the car. For many years, Princess was a therapy dog and visited nursing homes and pre-schools. Although she loved all the attention and everyone loved her, there came a time when she was too old and &#8220;ailing&#8221; and we took her out of the therapy program. She was so sad when we had to board her; she just wasn&#8217;t accustomed to being all alone in a cage. With Tamara and the Dancing Creek Farm, she blossoms into the loving, friendly little girl she was when she visited everyone. Princess is a &#8220;people dog&#8221; and gets treated as a person at THE DANCING CREEK FARM! We really appreciate Tamara and her crew.