On 03/10/13 09:12, Leye Agiri wrote:
> Dear All,
>
> I just joined a new company as the DBA/System Analyst, though with
> experience in MSQL database.
Welcome! I hope you'll find us a friendly bunch.
>
> I'm a newbie to D3/MVDb platform and I have lots of issues
> understanding/migrating to this new technology. Coupled with the fact
> that there's no one to take me through. I have a couple of questions
> below and I'll appreciate your prompt responses to enable me integrate
> seamlessly:
Firstly, D3 is a MultiValue database. This is NOT an FNF-relational
database, it's an NFNF (or NF2) database (which stands for
non-first-normal-form). So you might find a lot of your questions don't
make sense to us. That's fine, you need to change your mindset.
In particular, unlike with Relational, the data definition DEScribes the
data, it does NOT prescribe it (in other words, something can be a
number and a string and a boolean all at the same time - in practice,
everything is stored as strings in the database). So you can't assume
that what should be a number, actually is. It's up to the programmer to
enforce it (and MV systems very rarely have a DBA, they're just not
needed even with huge systems much larger than your typical database).
Okay, I'll help as much as I can here, but bear in mind I know the
UniVerse database, not D3, although they are very similar in philosophy.
>
> * What's the data format/type of the D3/MvDb?
Do you mean where/how does it store its data? Someone else will tell you
that - I think D3 does it as a big blob on disk.
> * Is there a way I can connect MSQL directly to the raw data?
Easy enough - you should be able to get an ODBC or OleDB connector -
just be aware that MSQL may choke on the data! It happens, and is rather
more common/likely than you would hope :-(
> * Are there any Business Intelligence reports that I can design to fetch
> data?
Learn the LIST command :-) You'll probably be able find other stuff.
> * Is there an Admin console/dashboard (similar to SQL Enterprise
> Manager) to view the tables/views in my DB?
Learn the LIST command :-)
>
> I'm expecting your prompt feedback(s)
>
The best way to learn the system is to dive in the deep end :-) Get to
TCL (the colon prompt, a terminal command line). Then start LISTing
everything in sight :-)
Firstly, remember EVERYTHING in MV is self-describing. Secondly, at the
data level, there is only ONE filetype, or table layout as you would
understand it. So the LIST command is all you need :-) (I think the same
is true under the covers of relational, but in MV it's explicit).
In D3 I think the master control file is called MD (in UV it's VOC). Try
"LIST MD" and it should give you a list of all the files, commands,
everything.
Going back one level, every FILE (including MD) has a DATA portion
containing the data, and a DICT portion containing the description of
that data. Universe has a file called DICT.DICT, which is a
self-defining file that describes the dictionary (in other words, the
DATA section *is* the DICT section too).
And provided you stick to the LIST command, you can't do any damage.
Unlike SELECT in SQL, it doesn't have an update mode so it's read-only.
Updating stuff is easy, but requires a different command (ED) or a program.
The other thing to do is go to pickwiki (
www.pickwiki.com) and have a
browse around. There's a fair bit of interesting stuff there to give you
background.
Here's hoping you join us as a committed member of the community!
Cheers,
Wol