[Day 15]公費0415-内容整理


🌞プログラムしゅつりょく

  • プログラムの実行結果は
  • である.
  • 画面に出力:コンピュータを閉じて飛ぶ(揮発性)
  • ファイルに出力:実行結果を永続的に保存できます.利害関係の多くのユーザーは、最新情報を共有することが難しい.
  • データベースに出力:多くの利害関係者が最新情報を共有できます.
  • 🌞データベース#データベース#


    これは
  • のデータです.
  • 🌞データベース管理システム-DBMS

  • データベースを管理するシステム
  • oracle, mysql, mssql
  • 🌞データベースのタイプ

  • データベースタイプでは、oracleは「リレーショナル・データベース」
  • と呼ばれます.

    🌈リレーショナル・データベース

  • に関連付けられたテーブルから構成されます.
  • 表は行と列で構成されています.
  • 🌞データベースコマンド

  • sql(Structured Query Language)
  • 🌈Oracleでのデータベース・コマンド・モードの実行

    c:\> sqlplus
    사용자명 입력: system
    비밀번호 입력: manager (입력할 때 화면에 보이지 않는다.)
    SQL >

    🌈データベースを使用した実験用のユーザー・アカウントの作成


    🍁ユーザーアカウントの作成コマンド

    create user 사용자이름 identified by 암호
    
    -> create user c##sist identified by sist;

    🍁ユーザーの接続、リソースの使用、dba権限の付与を許可

    grant 권한명, ... to 사용자이름;
    
    -> grant connect, resource, dba to c##sist;

    🍁管理者が接続を閉じる

    sql > exit

    🍁ユーザーアカウントの接続

    c:... > sqlplus
    사용자명 입력: c##sist
    비밀번호 입력: sist
    
    SQL > 

    🍁メンバーのアイデンティティ、名前、年齢を管理するデータベース・テーブルの作成

    create table 테이블(속성이름 자료형, ...);
    
    -> create table member(id varchar2(50) primary key, name varchar(50), age number);

  • Oracleからの資料の取得

  • 文字:varchar 2//可変長->50文字

  • 数値:number

  • primary key:重複しない鍵を識別する
  • 🍁テーブル構造を確認するコマンド

    desc 테이블;
    
    -> desc member;

    🍁表に資料を追加する

    insert into 테이블명 values(깂1, 값2, ...);
    
    -> insert into member values('hong', '홍길동', 20);
  • の値の数と順序は、テーブル構造のプロパティの数と順序と同じでなければなりません.
  • oracleでは、文字と文字列の処理は同じで、引用符で囲まれて表されます.
  • 🍁検証データ(検索データ)

    select 컬럼이름1, 컬럼이름2, ..from 테이블명;
    
    - member 테이블의 회원이름을 검색
    > select name from member;
    
    - member 테이블의 아이디, 이름, 나이를 출력
    > select id, name, age from member;

    🍁列幅の設定

    파일을 만들어 설정
    > ed ff
    
    파일의 내용을 실행
    >@ff 

    🌞JDBCプログラミング(Javaデータベース接続プログラミング)


    🌈あらかじめ準備する

  • oracleインストールフォルダからojdbc 8をlibにコピーしjavaインストールパス
  • にコピーします.
  • eclipseプロジェクト名右クリック->Prooarties->Java構築パス->ライブラリ->クラスパス->Add External Jars->Ojdbc 8.jarのパスを設定->ApplyとCloseをクリックします.
  • 🌞例


    🌟(DB接続)例1🌟

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.util.Scanner;
    
    //사용자한테 아이디, 이름, 나이를 입력받아서 데이터베이스 테이블 member에 추가하는 자바프로그램을 작성
    public class InsertMember {
    
    	public static void main(String[] args) {
    		String id, name;
    		int age;
    
    		Scanner sc = new Scanner(System.in);
    
    		System.out.print("새로 등록할 회원의 아이디를 입력하세요: ");
    		id = sc.next();
    
    		System.out.print("새로 등록할 회원의 이름을 입력하세요: ");
    		name = sc.next();
    
    		System.out.print("새로 등록할 회원의 나이를 입력하세요: ");
    		age = sc.nextInt();
    
    		// 입력받은 아이디, 이름, 나이를 갖고 데이터베이스 명령어 만들기
    		String sql = "insert into member values('" + id + "', '" + name + "', " + age + ")";
    
    		// 프로그램에서 자동으로 데이터베이스에 연결하여 위에서 만든 데이터베이스 명령어 sql을 동작하도록 하자.
    		// 자바가 데이터베이스에 연결하여 데이터베이스 명령어를 실행하는 프로그램
    		// JDBC 프로그래밍 Java DataBase Connection
    		try {
    			// 1. jdbc 드라이버를 메모리로 로드한다.
    			Class.forName("oracle.jdbc.driver.OracleDriver");
    
    			// 2. db서버에 연결한다.
    			Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.35.171:1521:XE", "c##sist",
    					"sist"); // 첫번째 칸에는 내 아이피주소, 사용자 계정, 비밀번호
    
    			// 3. 데이터베이스 명령을 실행하기 위한 객체를 생성
    			Statement stmt = conn.createStatement();
    
    			// 4. 데이터베이스 명령을 실행
    			stmt.executeUpdate(sql);
    			
    			// 5. 사용이 끝난 자원을 닫아준다.
    			stmt.close();
    			conn.close();
    			
    			System.out.println("회원의 정보를 등록하였습니다.");
    
    		} catch (Exception e) {
    			System.out.println("예외발생: " + e.getMessage());
    		}
    
    	}
    
    }

    🌞練習問題


    👑練習問題1👑

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.util.Scanner;
    
    public class InsertStudent {
    
    	public static void main(String[] args) {
    		String name;
    		int num, kor, eng, math;
    
    		Scanner sc = new Scanner(System.in);
    
    		System.out.print("새로 등록할 회원의 번호를 입력하세요: ");
    		num = sc.nextInt();
    
    		System.out.print("새로 등록할 회원의 이름을 입력하세요: ");
    		name = sc.next();
    
    		System.out.print("새로 등록할 회원의 국어점수를 입력하세요: ");
    		kor = sc.nextInt();
    		
    		System.out.print("새로 등록할 회원의 영어점수를 입력하세요: ");
    		eng = sc.nextInt();
    		
    		System.out.print("새로 등록할 회원의 수학점수를 입력하세요: ");
    		math = sc.nextInt();
    
    		// 입력받은 아이디, 이름, 나이를 갖고 데이터베이스 명령어 만들기
    		String sql = "insert into student values('" + num + "', '" + name + "', '" + kor + "', '" + eng + "', " + math+ ")";
    		
    		//String sql = "insert into student values('" + num + "', '" + name + "', " + kor + "', " + eng + "', " + math + ")";
    
    		// 프로그램에서 자동으로 데이터베이스에 연결하여 위에서 만든 데이터베이스 명령어 sql을 동작하도록 하자.
    		// 자바가 데이터베이스에 연결하여 데이터베이스 명령어를 실행하는 프로그램
    		// JDBC 프로그래밍 Java DataBase Connection
    		try {
    			// 1. jdbc 드라이버를 메모리로 로드한다.
    			Class.forName("oracle.jdbc.driver.OracleDriver");
    
    			// 2. db서버에 연결한다.
    			Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.35.171:1521:XE", "c##sist",
    					"sist"); // 첫번째 칸에는 내 아이피주소, 사용자 계정, 비밀번호
    
    			// 3. 데이터베이스 명령을 실행하기 위한 객체를 생성
    			Statement stmt = conn.createStatement();
    
    			// 4. 데이터베이스 명령을 실행
    			stmt.executeUpdate(sql);
    			
    			// 5. 사용이 끝난 자원을 닫아준다.
    			stmt.close();
    			conn.close();
    			
    			System.out.println("회원의 정보를 등록하였습니다.");
    
    		} catch (Exception e) {
    			System.out.println("예외발생: " + e.getMessage());
    		}
    
    	}
    
    }