Results 1 to 3 of 3
  1. #1
    Join Date
    Jun 2014
    Location
    Valera, Venezuela
    Posts
    3

    Database design for a language learning tool

    Hello everyone, I'm planning at this moment to build a language learning tool for personal use, since I'm still learning English (I plan to open source the application), so excuse me for any grammar mistakes made on this post.

    This application is going to be based on two tools named Learning With Texts (LWT) and LingQ, both are based on a methodology to learn languages based on reading.

    You can see an example of LWT on the attachment.

    I'm still thinking about how to design the database but I've seen that I'll need a query to search for the words contained in the text on a constant basis. The data I'm going to search has the status of the words learned by the user. For example

    • Learned
    • In process of learning
    • Not learned


    Let's say I have a text like this:

    "I'm hitting the hay at this moment"
    Somewhere I have the following list of words

    • I'm
    • hitting
    • hay
    • moment
    • hitting the hay
    • other words...


    How can I retrieve the values in the list above that are currently contained on the text being read in an efficient way using a RDBMS?

    I hope I explained well myself, if not, please let me know, I will try to post more information as soon as possible.

    Thanks in advance
    Attached Thumbnails Attached Thumbnails eUz4sY4.png  

  2. #2
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,592
    First, your English is excellent.

    My initial suggestion would be to use SQL Server's Full Text Search functionality, but I wonder whether that would allow you to track metrics on individual words.

    So short answer is that you will need to parse each sentence into individual words and store them in a table as separate records.
    If it's not practically useful, then it's practically useless.

    blindman
    www.chess.com: "sqlblindman"
    www.LobsterShot.blogspot.com

  3. #3
    Join Date
    Jun 2014
    Location
    Valera, Venezuela
    Posts
    3
    Quote Originally Posted by blindman View Post
    First, your English is excellent.
    Thank you for your compliment! It's very appreciated

    Quote Originally Posted by blindman View Post
    My initial suggestion would be to use SQL Server's Full Text Search functionality, but I wonder whether that would allow you to track metrics on individual words.
    Well, I thought about it, but it's not really what I'm looking for since I need to get individual words

    Quote Originally Posted by blindman View Post
    So short answer is that you will need to parse each sentence into individual words and store them in a table as separate records.
    Yes, I think it's definitely necessary to parse individual words on texts and then store them in a table. Now, my guess is about how I could get compound sentences from that table (I know I can store those compound words on it).

    I was thinking about using a "LIKE" query to do it. Using the text that I referred to on the above post, I could get the set of individual words and then using this condition to get the words on the table with the saved words. For example:

    Code:
    SELECT * FROM table_with_saved_words WHERE word LIKE "hitting%" OR word LIKE "hay%"...
    The query above would have as results the following:

    • hitting the hay
    • hay
    • hitting the roof
    • ...


    This have a problem since I will get many other results that I'm not looking for.

    How would you approach this? What would be in your opinion the most efficient way to filter the results?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •