9日目ソフトウェアカリキュラムデータベース/spring-0805


9日目ソフトウェアカリキュラムデータベース/spring-0805


1.シーケンス


掲示板に記事を作成すると、リスト数は1ずつ増加します.
数字を下に並べる

リストID日付ヘッダ001 data 01012021.08.05データベース面白い002 java 1232021.09.11 javaの方が面白い003 python hon 2021.10.12 Pythonで一番面白いのは004 c lang 882021.10.28 C言語005 sql data 562021です.11.11データベースが面白い

  • 2. Inlineview


    Fromセクションの後にあるサブクエリ(理解を助けるために使用され、通常はサブクエリとは呼ばれません)
    一般的なサブクエリはwhere文の後にあります

    3.データベース返信機能をキャンセルする理由


    2倍のデータ負荷(2列必要)
    廃止する

    4.DML終了

    select rownum, employees.*
    from employees
    
    select rownum, employees.*
    from employees
    where rownum between 1 and 17
    
    -- 2~17은 안됨, rownum라는 가상의 컬럼은 select문이 수행된 결과값앞에 생성됨
    -- rownum =1을 포함하는 값을 오라클이 내부적으로 읽어 올 수 있음
    -- 그 외에는 읽어 올 수 없음
    Oracle 순서 
    1) select을 먼저 읽음 
    2) where이 두번째 
    3) 마지막에 from으로 table을 찾아봄
    inline view 
    
        1.  select rownum, employees.*
            from employees
            where rownum between 2 and 17
    
        2. 첫번째 해결방법, 또 다른 문제가 있다. rownum 익명으로 사용
            select *
            from (select rownum as rm, employees.*
                  from employees)
            where rm between 3 and 5
            /*rownum를 익명으로 써야함*/
            
            select *
            from employees
            order by employee_id desc
            /* select 하고나서 rownum가 나오기 때문에 숫자가 뒤틀려서 나온다*/
        
        3. 정렬을 했을때도 우리가 원하는 값이 나오는 최종버전
          
          -- 내코드  
            select *
            from (select rownum as rm, employees.*
                  from employees
                  order by employee_id desc)
            where rm between 3 and 5
            
          -- 강사님 코드
            select *
            from (select rownum rm, tt.*
                from( select *
                      from employees
                      order by first_name desc) tt)
                where rm between 3 and 5
            -- 사번 순서라서 정렬이 됨, 이름 순서로 하면 정렬이 안됨 
            -- 인라인뷰를 두번 써야지 정확한 값이 나옴
            
            그간 배운 건 DML 이제 배울 것 DDL
            Data Definition language

    5.表の作成


    create user human identified by 1234
    grant resource, connect to human
    Oracle接続→右クリック→新規接続

    六、開発方法論


    愛子の日:お客様のニーズに即してプログラムを作成する方法
    TDD:符号化前に全ての内容をテストして開始する
    CPDD:CopyとPaste技術😋

    7. DDL

     -----------DDL 문장 실습---------------
     create user human identified by 1234
     grant resource, connect to human
        오라클 테이블 컬럼의 타입
        1. number : 숫자(정수, 실수)
            ex) articleNum number(10) : 정수 10개
            ex) articleNum number(10,3) : 전체 자리수는 10개까지 올수가 있는데 소수점 아래는 3개 자리까지
                
        2. varchar2(50) : 가변 문자 타입 (바캐릭터2) 영어 1byte 한글 2byte(25자 까지 가능)
                          최대 4,000byte
           char(6) : 고정 길이 문자
           
        3. date : 날짜 자료 타입
        
        4. 대용량의 자료를 저장할 때
            clob
            blob
            -- blob: 2진 파일 저장
            
        5. create table bbs(--(Bulletin Board System)
                articleNum number primary key,
                id varchar2(500) not null,
                title varchar2(200) not null,
                content clob not null,
                writeDate date not null
            )
            
            drop table comments -- 삭제 커맨드
            create table comments(
                commentNum number primary key, --제약 조건 ntt 무결성 제약조건 null이 올 수 업음
                id varchar2(500) not null,
                commentContent varchar2(2000) not null,
                commentDate date not null,
                articleNum number not null,
                
                constraint comment_articleNum_fk foreign key(articleNum)
                references bbs (articleNum)
                )
                
                --c는 체크옵션 u는 유니크
            
            
            -- Java articleNum// Oracle article_num
        
            -- 오라클에서 컬럼의 값을 자동증가 시키기 위해서는 Sequence 객체를 사용함
            
        create sequence bbs_seq
        start with 1
        increment by 1
        
        -- 오류가 나더라도 시퀀스의 값은 증가함
        
        insert into bbs values(bbs_seq.nextval, 'a', 'a', 'a', sysdate)
        -- 시퀀스의 현재 값을 읽어올때 : bbs_seq.currval
        commit
        
        delete
        from bbs
        
        commit
        
        rollback
        
        --auto commit -> ddl, sql developer 정상종료 시킬 때, ddl 문장을 수행 시키다가 
        --오타가 발생하면 auto commit이 발생함
        
        --truncate는 삭제하는 ddl문임(auto commit 발생함), 롤백이 안됨 
        
        truncate table bbs
        
        alter table bbs add(cell varchar2(20) not null)
        alter table bbs modify(cell varchar2(200))
        alter table bbs drop column cell
        
        create table emp1
        as
        select * 
        from bbs
        
        create table emp2
        as
        select * 
        from bbs
        where 1 = 2000 --false라서 아무런 값도 안가져옴

    8. Spring


    スプリングダウンロードショートカット
    モデルビューコントローラ:Web開発計画
    なぜファイルパッケージ名をステップ3とするか:プロジェクトでドメインをアドレスとして使用し、ex)com.naver.www(ドメイン)
    JAR(Java Archive、Javaアーカイブ)は、複数のJavaクラスファイル、クラスで使用される関連リソース(テキスト、ピクチャなど)およびメタデータを1つのファイルに収集し、Javaプラットフォーム上でアプリケーションまたはライブラリを配布するためのパッケージファイルフォーマットである.

    Jarファイルを作成する場所
    Webアプリケーションサーバ(WAS):JEUS Tool-timax Soft(50%),Tomcat
    Webアプリケーションサーバ(Webアプリケーションサーバ、略称WAS)は、Webアプリケーションとサーバ環境を作成して実行させる機能を提供するソフトウェアフレームワークである.インターネット上では、HTTPを介してユーザコンピュータまたはデバイスにアプリケーションを実行するミドルウェア(ソフトウェアエンジン)と見なすことができる.Webアプリケーションサーバは、一般的なWebサーバとは異なり、主にデータベースサーバである動的サーバコンテンツを実行する.韓国では一般的に「WAS」または「WAS/W」と総称され、公共機関では「Webアプリケーションサーバ」と呼ばれ、英語圏では「アプリケーションサーバ」(ASと略称)と呼ばれている.
    Tomcatショートカットのダウンロード
    Demon
    ユーザによって直接制御されず、バックグラウンドで回転して複数の操作を行うプログラムを指す.