Hey,
I have a hard time figuring out if OrientDB fits our enterprise needs. But
I really enjoy the DB.
The problem is I am always thinking, that I'm doing it the wrong way.
We are analyzing data coming from external vendors and we have to find the
needles in the heystack.
*Concrete example:*
- I have 2 Tables (customer and account)
- these 2 tables have private keys and foreign keys
- 1 customer -> many accounts / many accounts -> 1 customer
- every account has a balance
- every customer has a specific age
These 2 tables come from a RDBMS-like thing (IDs as connections)
I imported the 2 tables in Java using "ODatabaseDocumentTx" ending up with
2 classes (account and customer).
After that I ran a bunch of SQL statements to create Links between them
(LINK from account to customer and LINKLIST from customer to account).
*What I want to get now:*
- all customers where age < 18 that have
- any account where the balance < 0
And from these customers I want to
- display the balance of all accounts summed up
- display the number of accounts
- display the first account number
- also I want to display the name, the ID and what not
*My Question is now:*
*-* is it better to use the graph DB (edges instead of links)?
- how can I get from RDBMS SQL to Orient
*Example SQL-Query was *(I stripped out and translated a few things)*: *
Select customer.ID, customer.Name
'Age : ' || cast(customer.age as char(3)) as
Info_001,
CASE WHEN count(account.accountNr) = 1 THEN 'Balance
: ' ELSE 'Balance (all accounts) : ' END || cast(sum(account.balance) as
char(16)) as Info_002,
CASE WHEN count(account.accountNr) = 1 THEN 'AccountNr : '
ELSE 'first accountNr : ' END || cast(min(account.accountNr) as char(10))
as Info_003,
CASE WHEN count(account.accountNr) > 1 THEN 'Count of further
Accounts : ' || cast((count(account.KtoNr) - 1) as char(3)) ELSE '' END as
Info_004
from account, customer,
where account.customerID = customer.ID
and account.balance < 0
and customer.age < 18
group by customer.ID, customer.Name
having abs(sum(account.balance)) > abs(0)
This gives me the correct customers matching my criteria.
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.