ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

ネット上にデータを保存するサービスは著作権違反判決、要するに日本以外に、会社とサーバ置けば?

2007-05-27 22:02:24 | Weblog

高部真規子裁判長が出した、ストレージ・サービスに対して著作権侵害に当たるとの判断、これについては、ここのブログでも前に取り上げたけど、まだまだ、話題進行中みたい。。

ここの痛いニュース
ネット上にデータを保存するサービスはすべて著作権侵害で違法
http://blog.livedoor.jp/dqnplus/archives/980026.html

(元ねたはここ、また、この事件についてのYAHOOニュースはここ

ちょっと前のブログで、書き足りないところがあるので付け足し説くと、この判決によると、

1.システムの中枢=サーバを所有・管理している
2.所有・管理者からみて、利用者が不特定多数

この場合、行為主体は所有・管理者となり、この人が協会(JASRAC)の許諾を受けない限り、著作権を侵害すると認定

ってことで、レンタルサーバーは違法?ってかいた。
メールサーバーも同じ理屈だろう。実際上記痛いニュースのコメントにも指摘があるし、
「Yahoo!ブリーフケース」とかもだめぽだろう。。

 でも、それは、現状違法ってわけで、
 この判決によると「行為主体が協会(JASRAC)の許諾を受れば」OKなわけだ。。

 つまり、レンタルサーバーもYAHOOもどこも、JASRACにみかじめ料使用料??をはらえばOKってことだろう。。

 多分、JASRAC側から見れば、音楽用DVDとかとかCDとか補償金を払っているので、レンタルサーバーも払え!っていう論理なんだろう。。
 ということは、この判決は、JASRACがお金(補償金)を徴収することにお墨付きを与えたことになる。。

 。。。問題はいくらか?だよね。。安かったら、めんどっちいから払っちゃおうっていうことになるけど。。高くてやっていけないとなったら。。




 ここで、ちょっと頭の体操

 かりに、このストレージサービスでも、レンタルサービスでも、所有・管理している会社が、アメリカにあったら?
 つまり、
1.日本の会社が、アメリカに100%出資の完全子会社をつくり
2.そこに、ストレージだけ置く
3.アメリカの子会社は、日本の会社に、お金の徴収と顧客サービスを依頼する
  →顧客サービスとか、ふつうのサービスは、いままでどおり、日本で行う
4.サーバーの管理だけアメリカで行う。
5.顧客との契約は、アメリカの会社が所有しているサーバーを利用しているのだから
  アメリカの法律に基づいて行うと、契約書の中で明記する

そーすると、アメリカの会社が所有・管理していて、契約もアメリカだから、アメリカの法律が適用されるんじゃあ。。もっとも、顧客サービスは日本の会社が委託されてやるので、なにもかわらないんだけど。。

(要するに、香港のレッドチップの株みたいなもんですな。。)




 で、それ、「アメリカは遠すぎる」けど、どっか貧しい国の日本大使館でやったら?

 どっか貧しい国に会社をつくり、サーバーは、その国の日本大使館において、サーバーを管理する人だけが、日本の大使館にいく(これが儲かるなら、その貧しい国はいっぱい大使館をつくりそうだ ^^;)そーしたら、大使館は治外法権なんじゃあ。。。
 そして、契約はその国の法律に基づいて行うって書けば、その国の法律が適用されることになれば。。。OKなんじゃあ??

 って、どっかなあ?




 ま、結論としていえそうなのは、そーなってくると、ネット関係のビジネスやろうとおもったら、日本にサービスするにしても、アメリカでやったほうがいいってことだ。

 YouTubeは、アメリカにあるからやっていけるんだって、あれが日本の会社だったら。。つぶされていただろう(>_<!)

<<23:50ごろ追加>>

法律的にはここ
ストレージの利用がなぜ著作権侵害なのか
http://nagablo.seesaa.net/article/42935209.html

がくわしいらしい。
前にも書いたけど、このブログは技術関係の人のみ対象にかいているので、法律的なお話はそちらに譲って、ここでは書かないですけど、どーもそれみてると。。
うーん、やっぱ、ネットはアメリカに会社おいてやったほうがよさそう??(^^;)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World程度のデータベース(その21:外部スキーマ(5)SQLその4)

2007-05-27 14:41:45 | 土日シリーズ

 情報処理とは何から、データベースの基本的な話(情報処理試験のデータベーススペシャリスト程度の話まで)を書く、土日のシリーズ「Hello World程度のデータベース」です。

 今までで、三層スキーマ構造(概念スキーマ、内部スキーマ、外部スキーマ)の概念スキーマ、内部スキーマをやって、今は、外部スキーマの話、とくにSQLをやってます。

 で、SQLについては、大体こんな内容です。
●レコードの検索   select
  ・1つの表を条件をつけずによむ
  ・WHERE句
  ・ORDER BY
  ・GROUP BYとHAVING
  ・2つ以上の表
  ・結合あれこれ(外部結合、内部結合、自然結合、自己結合)
  ・副問い合わせと限定述語
  ・UNION、INTERSECT,EXCEPT

●レコードの追加   insert
  ・レコードの追加
  ・SELECT文を利用した複数行の追加

●レコードの削除   delete
  ・レコードの削除(WHERE句も含めて)
  ・副問い合わせを使ったもの

●レコードの更新   update
  ・レコードの更新(WHERE句も含めて)
  ・SET句における元の値の利用
  ・副問い合わせを使ったもの

●その他
  ・コミットとロールバック
  ・参照制約
  ・トリガーとストアド・プロシージャ(ストアド・プログラム)


 前回、GROUP BYまでやったので、今日は「2つ以上の表」なのですが、その前に、書き忘れていた、ALLとDISTINCTについて説明します。

なお、前回同様、(1つめの)テーブルは、以下の「社員テーブル」を使います。

CREATE TABLE SHAIN_TBL (
  SHAINID INTEGER NOT NULL,
  SEI VARCHAR(20), 
  SEI_KANA VARCHAR(30),
  MEI VARCHAR(20) ,
  MEI_KANA VARCHAR(30),
  NYUSYANEN  INTEGER,
  KYOYU_SYUBETU INTEGER,
  KYUYO  INTEGER,
  PRIMARY KEY(SHAINID)
);





■ALLとDISTINCT

 ここで、
SELECT NYUSYANEN FROM SHAIN_TBL;

という検索をしたとします。つまり、全員の入社年を出す場合です。
こうなると、同じ同期入社の人が、何人もいると、何回も出てきてしまいます。

2005
2005
2005
2004
2004
2003
2003
2003

のようなかんじ。。
こういうデータがほしいときもあります(後工程で、グラフ化やメジアンを求めたり、いろんな処理をするため、countを使ってまとめられないとき)。
でも、そうじゃなくって
2005
2004
2003

と同じデータは、単一化したい場合もあります
(普通、みんなの入社年が知りたいという場合は、こちらだと思います)

このように、データを単一化する場合は、DISTINCTというのをつかって、

SELECT DISTINCT NYUSYANEN FROM SHAIN_TBL;

と書きます。

 ちなみに、はじめのように全部書く場合は、

SELECT ALL NYUSYANEN FROM SHAIN_TBL;

ともかけるのですが、ALLは省略可能です(DISTINCTもALLもない場合、ALLがデフォルトとなる)。




■2つ以上の表

 2つ以上の表の場合、ORACLEで一般的に書く書き方と、Accessで一般的に書く書き方がちがいます(たぶん、Accessの書き方でORACLEで書いても動くと思うけど)
 で、説明上、Accessのほうが、わかれば、ORACLEのほうは、わかると思うので、Accessのほうで説明します。

 まず、結合する表について。
 こういう表を考えます、会社でイベントをやるときの出席者テーブルを考えます

CREATE TABLE SYUSSEKI_TBL (
  SHAINID INTEGER NOT NULL,
  EVENTID INTEGER NOT NULL,
  PRIMARY KEY(SHAINID,EVENTID)
);

このとき、イベントIDが123のイベントの出席者を出力するとします。
そうすると。。。実際にどういうSQLを書き出すか、AccessでSQLを書いてみましょう。




■AccessでSQLを作る

手順
1.まず、2つのテーブルを作成してください
 このとき、Accessは2つの項目を主キーにすることができなさそうなので、
 あらたに主キーの項目を作っておきます。

2.クエリで、テーブルを定義します。
 今回はSHAINIDが同じもので結合します(2つのテーブルがSHAINIDでつながってる)
 そして、社員テーブルの社員ID,社員姓、名を表示します。
 出席者テーブルのイベントIDが123のイベントの出席者だけだします
 (が、 イベントIDは表示しません)
 という指定は、以下のようになります。


3.これを保存して、再度デザインビューで開いた後で、
  プロダウンメニューで「表示」→「SQLビュー」にするとSQLがでてきます。
こんなかんじ

SELECT SHAIN_TBL.SHAINID, SHAIN_TBL.SEI, SHAIN_TBL.MEI
FROM SHAIN_TBL INNER JOIN SYUSSEKI_TBL ON SHAIN_TBL.SHAINID = SYUSSEKI_TBL.SHAINID
WHERE (((SYUSSEKI_TBL.EVENTID)=123));

なお、「表示」→「デザインビュー」にすると、元に戻ります




■2つの表の場合、どこがちがうのか

では、2つの表の場合、どこが違うのかというと、
・項目名を書くとき、いままで項目名しか書いていなかったけど、
   テーブル名.項目名
 という形で書く。
 なお、テーブル名は省略形で書く方法もあります。

・テーブルをFROM句に書くのですが、

 FROM テーブル1 INNER JOIN テーブル2 ON 条件式

のようなカタチで、テーブルを2つ書いている。
ここで、INNER JOINのほかに、LEFT JOIN,RIGHT JOINとかあるのですが、
それについては、次回です。




ということで、次回は「結合あれこれ(外部結合、内部結合、自然結合、自己結合)」です。
(どこまでかけるかどうかわかんないけど。。)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする